私はかなり重いPythonプログラムを実行しています。私はこのスクリプトを数週間実行しましたが、過去数日間、次のメッセージでプログラムが終了しました。
Killed
頑張った新しいスワップファイルの作成8GBですが、これは常に発生します。
私も以下を試してみました。
dmesg -T| grep -E -i -B100 'killed process'
エラーのリストは次のとおりです。
[Sat Oct 17 02:08:41 2020] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/[email protected],task=python,pid=56849,uid=1000
[Sat Oct 17 02:08:41 2020] Out of memory: Killed process 56849 (python) total-vm:21719376kB, anon-rss:14311012kB, file-rss:0kB, shmem-rss:4kB, UID:1000 pgtables:40572kB oom_score_adj:0
私は強力なコンピュータを持っており、他のもの(Pycharmまたはターミナル)を実行せずに実行してみましたが、発生し続けます。
メガネ:
- Ubuntu 20.04 LTS(64ビット)
- 15.4GiBメモリ
- Intel Core i7-105100 CPU @ 1.80GHz x 8
走っている間free -h t
total used free shared buff/cache available
Mem: 15Gi 2.4Gi 10Gi 313Mi 2.0Gi 12Gi
Swap: 8.0Gi 1.0Gi 7.0Gi
ベストアンサー1
ここではやることがあまりないので残念ですね。このプロセスは、システムがクラッシュする前にメモリを大量に消費する操作を殺すことを実行するオペレーティングシステムプロセスであるOOMキラーによって終了されています。これは良いことです。そうしないと、コンピュータが応答しなくなります。
そのため、Pythonスクリプトがなぜそれほど多くのメモリを占有しているのかを把握し、メモリを少なく使用するように努力する必要があります。
唯一の他のオプションは、より多くのスワップスペースまたはより多くのRAMを確保することですが、これはバンドルのように感じます。これがPythonスクリプトの場合は、メモリ消費を最小限に抑える必要があります。