問題タブ [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.
python - Resident Set Size (RSS) の制限は影響しません
2.6.32-22-generic カーネルを使用して Ubuntu 10.04 を実行しているマシンで、次の問題が発生します。プロセスの Resident Set Size (RSS) の制限を設定しても、効果がないように見えます。現在、次のコードを使用して Python で制限を設定しています。
リストの memory_sink は毎回成功します。top で RSS の使用状況を確認すると、プロセスが 1 GB の RAM を使用するように簡単に取得できます。これは、制限が機能していないことを意味します。RSS 制限はこのカーネルまたはディストリビューションでは機能しませんか? それが役立つ場合、resource.RLIMIT_NPROC (ユーザー プロセス制限) は機能します。
c - Mac OS X の C で「開くファイルの最大数」の制限を増やす方法
Mac OS X で開くファイルの最大数のデフォルトの制限は 256 (ulimit -n) で、アプリケーションには約 400 のファイル ハンドラが必要です。
setrlimit() で制限を変更しようとしましたが、関数が正しく実行されたとしても、まだ 256 に制限されています。
私が使用するテストプログラムは次のとおりです。
出力は次のとおりです。
私のアプリケーションを使用する人に、/etc ファイルなどを突っ込むように頼むことはできません。それを自分で行うには、アプリケーションが必要です。
macos - OS X プログラムのメモリを制限するには? ulimit -v どちらも -m も機能していません
私のプログラムは、実行時間の半分のようにメモリ不足になります。Linux では、ulimit -v mem-in-kbytes を使用して、使用可能なメモリにハード リミットを設定できます。実際には、ulimit -S -v mem-in-kbytes を使用しているため、プログラムで適切なメモリ割り当ての問題が発生し、中止することができます。
しかし... ulimit は OSX 10.6 では機能しません。-s オプションと -m オプションを試しましたが、機能しません。
2008 年にMacRumorsで同じ問題についていくつかの議論がありましたが、誰も良い代替案を提案しませんでした. これは、プログラムがメモリを使いすぎていること、または OS を介して制限を設定していることをプログラムが学習できる方法であるべきです。
linux - ulimit が常駐メモリを正常に制限できない理由とその方法は?
新しい bash シェルを起動して、次を実行します。
そして、巨大なプロジェクトのコンパイルを実行します。それをリンクすると、2G 以上の大きなメモリが使用されます。その結果、プロセス ld は 2G を超える常駐メモリを使用しました。
何か間違っていますか?ulimit の使用方法、または他のプログラムを使用して常駐メモリを制限できますか?
制限常駐メモリの対象は、1 つのプロセスがほとんどすべてのメモリを使用すると、コンピュータがフリーズするためです。
linux - gdb: 仮想メモリを使い果たしました
Linux で gdb を使用してアプリケーションをデバッグしようとしています。ただし、デバッグしたい共有ライブラリからシンボルをロードすると、gdb は常に次のエラーで失敗します。
uname
unlimited
を含むすべてのパラメータについて表示されますvmemory
。これを解決する方法についてのアイデアはありますか?
java - java - Runtime.maxMemory はどのくらい正確ですか - 9gig の違いを確認しても問題ありませんか?
重複の可能性:
Java Runtime.maxMemory が正しくない?
-Xmx100G でアプリケーションを起動します。Runtime.maxMemory によって返される値は 91G です。残りのメモリ (9G) はどこに行きますか?
他の投稿から、API が 100% 正確ではないことがわかります。違いについて詳しく知りたいです。
仮想メモリサイズを設定しました
コマンドは失敗します。
apc - デフォルトの最大ロックメモリ値はどこから来ていますか?
したがって、あるシステムでは、かなり広く開かれた値があります。
別のシステムにははるかに多くの制限値がありますが、32MBの上限(誤ったラベル付けにもかかわらず32MB)がどこに設定されているかを私は一生知ることができません:
2番目のシステムはRHEL5.5ボックスです。少なくとも1人のユーザーに対してこの制限を増やすことを検討しています。より大きなAPCmmapメモリ割り当てが必要ですが、上記の制限に達することなく30 MBを超えることはできず、提供されているapacheinitスクリプトをハックしたくありません。より大きなメモリセグメントをマッピングできるように、システムのデフォルト値をどこで上書きしようとすればよいですか?apacheユーザーのlimits.confでそれを行うことは、それほど多くのことをしません。おそらく、initスクリプトがPAMを介して何もしないためです。
sockets - Javamail がタイムアウト時にソケットを完全に閉じない
javamail 経由でメールを送信すると、smtp サーバーへのソケットが開かれます。ここで、接続がまだ生きていて、javamail がサーバーを待っている間に、メール サーバーの接続がダウンしたというケースがありました (スパム スキャンに数秒かかりました)。そのため、TCP 接続が実際に閉じられることはなく、クライアントはデッドロック状態になりました。
そこで、javamails タイムアウトを使用することにしました。これは機能します。クライアントは、指定された時間の後に例外をスローします。ただし、tcp 接続は正しく閉じられません (netstat -np では、接続が「ESTABLISHED」と表示されます)。System.gc() を呼び出した後でのみ、ソケットが閉じられます。
gc() は OOM-Exception がスローされる前に保証されますが、FD 制限に達する前には保証されないため、これは問題です...
これは何とか回避できますか、それとも javamail のバグですか?
影響を受けるシステム: Linux (debian lenny)、Sun JDK 1.6.0.20 (-XXUseSSE=3)、javamail 1.4.3
linux - Cuda および OpenCL のリソースへのアクセスを制限する
GPU 計算をサポートするためにバッチ システムを拡張したいと考えています。
問題は、バッチ システムの観点からは、GPU がリソースであることです。使用済みリソースを簡単に数えることはできますが、それらへのアクセスを制限する必要もあります。
GPU の場合、各ジョブが GPU を排他的に要求することを意味します (GPU が要求された場合)。
私が聞いたところによると、ジョブ間で GPU を共有することは非常に悪い考えです (ジョブの GPU 部分がランダムに強制終了される可能性があるため)。
したがって、CUDA と OpenCL の GPU へのアクセスを制限する何らかの方法が必要です。バッチ システムには root 権限があります。/dev/
使用中のデバイスへのアクセスを制限することはできますがcgroups
、この場合、これでは十分ではないと考えました。
理想的な状態は、ジョブが要求した数の GPU のみを認識し、他のジョブがこれらの GPU にアクセスできない場合です。
linux - (ノード) 最大ファイル制限に達しましたか?
エラーを報告する node.js インスタンスでエラーが発生し続けます。
それでも、ulimit -n を確認すると、65535 と表示されます。アプリが 65535 接続を開いているとは思えません。他に何をチェックすべきかについて何か提案はありますか?
乾杯