Когда я запускаю фрагмент кода Python, который использует слишком много оперативной памяти, мой компьютер начинает переставлять так сильно, что мне приходится делать полную перезагрузку. Чтобы исправить это, я отключил обмен, предполагая, что убийца OOM вступит. Тем не менее, я все еще получаю точно такие же симптомы! То есть я слышу, как трескается жесткий диск, как только вся оперативная память используется, компьютер зависает, и мне приходится делать полную перезагрузку.
Что может происходить и как я могу это исправить?
Моя система работает под управлением Ubuntu 14.04.2 LTS, 3.13.0-43-generic # 72-Ubuntu SMP Пн. 8 декабря 19:35:06 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux с 8 ГБ ОЗУ.
Мои /etc /fstab показывают
# / was on /dev/sda1 during installation
UUID=80919e96-e83b-4c88-b30e-8673e1faa3b4 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
#UUID=68064725-c1bb-4293-b8d1-45b2a42fb7b4 none swap sw 0 0
Более подробная информация
tail -n+1 /proc/sys/vm/overcommit_*
==> /proc/sys/vm/overcommit_memory <==
0
==> /proc/sys/vm/overcommit_ratio <==
50
cat /proc/sys/vm/oom_kill_allocating_task
0
Пример кода
Мне жаль говорить, что я не знаю, как сделать минималистский пример Python, который показывает эту проблему. Однако это не минималистский код, который определенно делает http://paste.ubuntu.com/11621823/. Просто измените значение "пути" в коде и запустите его. В моей системе он использует всю оперативную память, а затем полностью останавливает систему.