問題タブ [ulimit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - bash fork エラー (リソースが一時的に利用不可) が停止せず、強制終了/再起動しようとするたびに表示され続ける
制限付きサーバーを 5000 並列接続用の iperf サーバーとして誤って使用しました。(制限は 1024 プロセスです) ログインするたびに、次のように表示されます。
次に、それらを殺そうとしますが、ps を実行すると、次のようになります。
killall や同様のことを行うと、同じことが起こります。システムを再起動しようとしましたが、これも再起動後に得られるものです。
なので基本的に何もできません。すべてのコマンドでこのエラーが発生します:/ ただし、「終了」することはできます。
これは私が物理的にアクセスできないオフサイト サーバーであるため、物理的にオフ/オンにすることはできません。
この問題を解決する方法はありますか? 助けていただければ幸いです。
php - centosでphpファイルを一度に100000回実行する
1 つの php ファイルを一度に 100000 回実行する必要があります。そのために、phpファイル(runmyfile.php)でexecコマンドを使用し、パテを使用してそのファイルを呼び出しました。runmyfile.php ファイルには次のコードがあります。
myfile.php ファイルを 100000 回並列に実行します。
この myfile.php は、mysql データベース テーブルから行をフェッチし、いくつかの計算を実行して、この値を別のテーブルに挿入します。
しかし、100000回実行すると、サーバーがハングアウトします。サーバーとしてcentosを使用しています。
リソースを利用できないというエラーが発生することもあります。
1000回実行すると正常に動作します。
以下を確認したところulimit -a
私のmysql max_connectionは200000です
変更する必要がある設定はありますか。私のphpファイルを100000回正しく実行できるように。
tomcat - 最大ファイル数の設定
Ubuntu で開いているファイルの最大数の値を設定しようとしていますがetc/security/limits.conf
、コマンドを起動しても同じ値が反映されませんulimit -a
。limits.conf に次の値を追加しています。
しかし、発射するulimit -a
と、私は得ています:
centos - CentOS 6 でのコア ファイルの有効化
CentOS を実行しているマシンでコア ファイルを有効にしようとしています。ただし、私が試したことは何もコアファイルを生成しませんでした...これが私がやったことです:
に次の 2 行を追加しました/etc/security/limits.conf
。
に次の行を追加しました/etc/sysconfig/init
。
に次の行を追加しました/etc/profile
。
に次の行を追加しました/etc/sysctl.conf
。
/srv/core
が存在し、777
権限があることを確認しました。init 6
OSの再起動を実行しました。システムが復旧したら、次の C スクリプトを実行して、コア ファイルを生成しようとしました。
Quit
私が見たいと思っていたのに、出力は単純Quit (core dumped)
です。そして明らかにコアファイルを生成しません:(
私は何が欠けているか、間違っていますか? よろしくお願いします。
hadoop - hadoop ulimit オープン ファイル名
パフォーマンスがかなり「悪い」と想定している Hadoop クラスターがあります。ノードはかなり頑丈です.24 コア、60+G RAM など. また、基本的な linux/hadoop のデフォルト設定によって、hadoop がハードウェアを完全に利用できないようになっているのではないかと考えています。
ここに、私が真実であると思われるいくつかの可能性を説明した投稿があります。
lsof
root、hdfs、および自分自身としてnamenodeにログインして、の出力と設定を確認しようとしましたulimit
。これが出力です。設定が開いているファイルの数と一致しない理由を誰でも理解できます。
たとえば、ルートとしてログインしたとき。は次のlsof
ようになります。
しかし、ulimit
出力をチェックアウトすると、次のようになります。
私は、1 人のユーザーが 1024 個を超えるファイルを開くべきではないと想定していますが、の出力を見ると、lsof
1 人のユーザーが 7000 個以上のファイルを開いています。ulimit
との関係の理解に誤りがあった場合は、訂正してくださいlsof
。
どうもありがとう!
file-io - あまりにも多くのファイル記述子/リークを使用して ioutil に移動しますか?
ファイルのリストを調べて、それらの xml データを構造体の配列にアンマーシャリングしていますrArray
。約18000ファイルを処理する予定です。約 1300 個のファイルが処理されると、プログラムがパニックになり、開いているファイルが多すぎると表示されます。処理するファイルの量を安全な量の 1000 に制限すると、プログラムはクラッシュしません。
ioutil.ReadFile
以下に示すように、ファイル データの読み取りに使用しています。
Go が使用しているファイル記述子が多すぎるのか、それともファイルを十分に速く閉じていないのかはわかりません。
https://groups.google.com/forum/#!topic/golang-nuts/7yXXjgcOikMを読み、 http://golang.org/src/pkg/io/ioutil/ioutil.goioutil
でソースを表示した後、コードforは、ファイルを閉じるために使用することを示しています。呼び出し元の関数が返されたときに実行され、呼び出し元の関数です。この理解で正しいですか?また、コードの一部を関数でラップしようとしましたが、違いはありません。ioutil.ReadFile
defer
defer
ReadFile()
ioutil.ReadFile
私のulimit
は無制限に設定されています。
更新: 解凍機能中にファイルが多すぎるというエラーが実際に発生していると思います。
私は最初にhttps://gist.github.com/hnaohiro/4572580Unzip
から関数を取得しましたが、さらに調べたところ、要点作成者の関数での の使用は、関数が返された後にのみファイルが閉じられるため、遅すぎるように見えました。 18000 個のファイル記述子が開かれるためです。;)defer
Unzip()
上記のように deferredClose
を明示的に置き換えましたClose()
が、同じ「開いているファイルが多すぎます」というエラーが引き続き発生します。変更した Unzip 関数に問題はありますか?
更新 # 2 おっと、私はこれを Heroku で実行していましたが、ずっと間違ったアプリに変更をプッシュしていました。得られた教訓: heroku toolbelt でターゲット アプリを確認します。
https://gist.github.com/hnaohiro/4572580からの解凍コードは、すべてのファイルが処理されるまでファイルを閉じないため、機能しません。
上記の明示的なクローズを使用した私の解凍コードは機能し、@peterSOの回答の遅延バージョンも機能します。
docker - イメージタグがphusion/baseimage-dockerであるdockerコンテナにulimit /ファイル記述子を設定する方法
ssh ( https://github.com/phusion/baseimage-docker )でコンテナーに接続する Docker コンテナーで、ファイル記述子の制限を正しく設定する必要があります。
すでに試しました:
- コンテナがこのファイルを無視する limit.conf を編集します
- upstart プロシージャはhttps://coderwall.com/p/myodcqにありますが、この docker イメージには異なる種類の init プロセスがあります。(それを実行します)
- /etc/pam.d の pam ライブラリの構成を変更しようとしました
- sshd_config で ssh の pam を有効にしてみてください
出力は常に同じです。