Używam mojego komputera do programowania naukowego. Ma dużo 8GB
pamięci RAM i 12GB
przestrzeni wymiany. Często, gdy moje problemy stają się większe, przekraczam całą dostępną pamięć RAM. Wydaje się, że Ubuntu zamiast zawieszać się (co byłoby preferowane), ładuje wszystko do wymiany, w tym Unity i wszelkie otwarte terminale. Jeśli nie uda mi się złapać uciekającego programu na czas, nie mogę nic zrobić, tylko czekać - przejście do wiersza polecenia, np. Zajmuje 4-5 minut. Ctrl-Alt-F2
gdzie mogę zabić przestępcę.
Skoro moja własna głupota nie wchodzi w zakres tego forum, jak mogę zapobiec awarii Ubuntu przez thrashowanie, gdy wykorzystuję całą dostępną pamięć z jednego szkodliwego programu?
Eksperyment w domu *!
Otwórz terminal, uruchom, python
a jeśli masz numpy
zainstalowany, spróbuj tego:
>>> import numpy
>>> [numpy.zeros((10**4, 10**4)) for _ in xrange(50)]
* Ostrzeżenie: może mieć negatywne skutki, monitorować proces poprzez iotop
lub top
zabić go na czas. Jeśli nie, do zobaczenia po ponownym uruchomieniu.