J'utilise mon ordinateur pour la programmation scientifique. Il a beaucoup 8GB
de RAM et 12GB
d’espace de swap. Souvent, à mesure que mes problèmes s'aggravent, je dépasse toute la mémoire RAM disponible. Plutôt que de planter (ce qui serait préférable), il semble qu'Ubuntu commence à tout charger en swap, y compris Unity et tous les terminaux ouverts. Si je ne détecte pas un programme en fuite à temps, je ne peux rien faire d'autre que d'attendre - cela prend 4 à 5 minutes pour passer à une invite de commande, par exemple. Ctrl-Alt-F2
où je peux tuer le processus incriminé.
Étant donné que ma propre stupidité dépasse le cadre de ce forum, comment puis-je empêcher Ubuntu de tomber en panne via une compression lorsque j'utilise toute la mémoire disponible d'un seul programme incriminé?
Expérience à la maison *!
Ouvrez un terminal, lancez python
et si vous avez numpy
installé, essayez ceci:
>>> import numpy
>>> [numpy.zeros((10**4, 10**4)) for _ in xrange(50)]
* Avertissement: peut avoir des effets indésirables, surveillez le processus via iotop
ou top
pour le tuer à temps. Sinon, je te verrai après ton redémarrage.