CentOSでマルチプロセスPythonプログラムを実行しています。このプログラムは多くのメモリを必要としません。問題は、私の64GB RAMコンピュータで他の計算集約的なタスクを実行するのに十分なメモリがないことです。同じ問題が発生した人はいますか?
修正する:
%MEMソート処理後の出力の一部は次のとおりです。
21922 haoyu 20 0 12.457g 1.204g 0 T 0.0 1.9 0:00.02 python
21871 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.02 python
21872 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.02 python
21895 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.02 python
21896 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.01 python
21897 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.03 python
21898 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.01 python
21899 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.02 python
21900 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.01 python
問題は、マルチプロセスPythonプログラムのいくつかのバグである可能性があります。子プロセスが正常に終了せず、まだいくつかのメモリを占有しているようです。これらの多くは現在CPUを積極的に使用していないため、オプションなしでtopコマンドを適用すると表示できません。
答え1
添付の画像には、メモリ使用量の代わりにCPU使用率に基づいてソートされたプロセス/プログラムがあります。
実行中のPythonプログラムがメモリの0.4%(およびCPUの100%)のみを使用しているようです。たぶん、他のプロセス/プログラムがサーバーのメモリを使用している可能性があります。
メモリー使用量別にソートされたプログラムのリストを生成するコマンドを実行します。
top -o %MEM -b -n 1 | head -20
プロセス/プログラム名の最後の列を見てください。
あなたの質問に答えを提供する必要があります。お使いのコンピュータで使用されるメモリは何ですか?。