A volte lavoro con enormi quantità di dati che voglio conservare in memoria per l'elaborazione. A volte calcolo erroneamente la quantità di memoria prodotta dal mio programma o un debugger moltiplica l'utilizzo della memoria per un fattore che supera la mia memoria disponibile.
Ogni volta che avvio un processo affamato di memoria, questo è quello che mi aspetterei da un sistema operativo sano: prova a consumare tutta la memoria libera, quindi chiedi ad altri processi non essenziali di rinunciare alla memoria di cui non hanno bisogno, quindi scrivi per scambiare.
Ecco cosa fa Ubuntu per me: mangia tutta la memoria libera, quindi chiedi al sistema operativo di scambiare tutti i servizi essenziali (sessione gnome, terminale, tastiera), quindi congela e attendi che stacchi la spina.
Due domande:
- Come può un sistema operativo supporre che qualcosa potrebbe essere così importante che è ok smettere di ascoltare l'input dell'utente?
- Come posso dire a Ubuntu di non scambiare mai i servizi essenziali e di reagire sempre all'input dell'utente, anche se qualche stupido processo cerca di consumare più risorse di quelle fornite dal sistema.
swappiness
impostazione su 10, ovvero: vm.swappiness = 10
in /etc/sysctl.conf. Cerca qui swapiness per maggiori informazioni a riguardo. 2) Se lo swapiness non aiuta ... Anche se potresti non voler ... aumentare le dimensioni del tuo file di swap a 1,5x16G e vedere se questo aiuta. Tienimi aggiornato. Saluti, Al
vm.swappiness=10
ha bisogno di essere addizionati a sysctl.conf. Una persona con esperienza potrebbe persino usare il comando sysctl al volo, per impostare vm.swappiness = 10, senza modificare il file sysctl.conf. Saluti, Al ps: aspettando che l'OP risponda.
swapon
per scoprirlo)? Saluti, Al