Questa domanda è trattata qui in dettaglio.
Come si misura l'utilizzo della memoria di un'applicazione o processo in Linux?
Dall'articolo del blog Comprensione dell'utilizzo della memoria su Linux , psnon è uno strumento preciso da utilizzare per questo scopo.
Perché
psè "sbagliato"A seconda di come lo si osserva,
psnon viene riportato l'utilizzo della memoria reale dei processi. Quello che sta realmente facendo è mostrare quanta memoria reale occuperebbe ogni processo se fosse l'unico processo in esecuzione . Naturalmente, una tipica macchina Linux ha diverse decine di processi in esecuzione in un dato momento, il che significa che i numeri VSZ e RSS riportati dapssono quasi sicuramente sbagliati .
psnon mostra nemmeno questo: mostra i numeri di memoria virtuale e residente, dove virtuale è la massima quantità di memoria che il processo potrebbe teoricamente usarlo se fosse l'unico processo (mai così), utilizzato ogni singola pagina allocata (non succede mai) e non ha mappato o non mappato alcuna pagina (improbabile). Mentre residente mostra quanta memoria virtuale è mappata al fisico in questo momento. In genere, virt > usage > restuttavia, su un sistema a 64 bit virt ~= res*10è una gamma molto ampia.
