Linuxのメモリ使用量

Linuxのメモリ使用量

プロセスメモリ使用量制限を設定するには?

開いているファイルの制限に似ています/etc/security/limits.conf

ubuntu           soft    nofile          4096
ubuntu           hard    nofile          8192

たとえば、eval1.1Gファイルのネイティブjsonデータを含むPythonスクリプトを実行すると、Pythonはそれぞれ実行中にRAM全体を消費し、コンピュータがdict20〜30分間停止します。その後:listjson.txt

# python read_data.py
Killed

Ubuntuシステムは今日非常に安定しています。一時停止状態で再起動します。スワップ使用量が8GBに達しました。 RAMが完全に空で、スクリプトが実行中です。

killed私のスクリプトがこの制限を設定できるかどうかを知りたいです。システムをこのように調整できますか?現在のRAMサイズの70%以上を占めるすべてのプロセスは終了または停止されます。

ベストアンサー1

同じファイルを使用すると、limits.conf以下を制限できます。

  • data- 最大データサイズ(KB)
  • memlock- 最大ロックされたメモリアドレス空間(KB)
  • rss- 最大常駐セットサイズ(KB)
  • as- アドレス空間制限(KB)
  • stack- 最大スタックサイズ(KB)

だからあなたはかなり多くのことを行うことができます。制限を設定したら、ulimit -a→を使用してこのレベルを確認し、このプログラムを使用して設定することもできます。使用するにlimits.confはが必要ですpam_limits.so

最後はスクリプトを殺すことです。私はこれがOOMキラーかもしれないと思います。物理メモリを使い果たすと誤動作するプロセスを終了するLinuxカーネルの機能です。 ;)dmesgキラーが使用されていることを確認するために使用されます。終了する候補プロセスと終了したプロセスに関する多くの情報があります。

乾杯、

おすすめ記事