Ho una scatola Ubuntu htpc/server in esecuzione a casa con kodi (xbmc) e alcuni altri servizi web.
Ho notato che Kodi era lento ed è entrato nella scatola per vedere cosa stava succedendo. Ho visto questo output htop:
Questo è l'output di free -m
[email protected]:~$ free -m
total used free shared buffers cached
Mem: 7642 7505 137 152 196 1296
-/+ buffers/cache: 6012 1630
Swap: 1905 10 1895
Come mai l'utilizzo della ram è a 6000 di 7600 MB nello screenshot
a 7505 in gratis
Ma quando sommato tutte le percentuali dei processi unici in htop vado solo a circa il 22-25% ? Non dovrebbe essere molto più alto?
Risposta accettata:
È perché htop
sta contando i buffer e la memoria cache come memoria libera, perché può effettivamente essere vista in questo modo.
Non c'è alcun "costo" nell'avere alcuni dati memorizzati nella cache in memoria, quindi il kernel conserva le cose lì nel caso in cui ne abbia bisogno in seguito.
Ad esempio, supponiamo che tu abbia guardato un video di circa 500 MB, dopo aver chiuso il video, il kernel potrebbe decidere di tenerlo in memoria invece di pulire quella parte, nel caso tu abbia bisogno di nuovo di quel video in modo che non debba essere caricato di nuovo dal tuo lento HDD. Ma quei 500 MB possono essere considerati liberi, perché non appena avrai bisogno di memoria per qualcos'altro, il kernel sarà in grado di utilizzare quella memoria immediatamente.
Non è il caso quando quella memoria viene utilizzata da un programma in esecuzione, perché quel programma sta utilizzando quella memoria in questo momento.
Se sottrai dal used
memorizzare i buffers
e cached
valori, otterrai il valore visualizzato da htop
.
Ora riguardo a quella percentuale che hai detto, dipende da come hai riassunto.