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