Я использую свой компьютер для научного программирования. Он имеет исправную 8GB
оперативную память и 12GB
пространство подкачки. Часто, когда мои проблемы увеличиваются, я превышаю всю доступную оперативную память. Вместо сбоя (что было бы предпочтительнее) кажется, что Ubuntu начинает загружать все в swap, включая Unity и любые открытые терминалы. Если я вовремя не поймаю запущенную программу, я ничего не могу поделать, кроме как ждать - для перехода в командную строку требуется 4-5 минут, например. Ctrl-Alt-F2
где я могу убить оскорбительный процесс.
Так как моя собственная глупость выходит за рамки этого форума, как я могу предотвратить сбой Ubuntu из-за сбоя, когда я использую всю доступную память от одной программы-нарушителя?
Домашний эксперимент *!
Откройте терминал, запустите python
и, если вы numpy
установили, попробуйте это:
>>> import numpy
>>> [numpy.zeros((10**4, 10**4)) for _ in xrange(50)]
* Предупреждение: может иметь побочные эффекты, контролировать процесс через iotop
или top
убить его вовремя. Если нет, увидимся после перезагрузки.