Domanda

Se vado al GSA a vedere l'utilizzo della memoria del mio server, si dice che solo il 16% della memoria è in uso. Ma quando mi collego al server utilizzando SSH e comando di marcia "-m libero" poi mostra che l'80% è in uso. Perché? Voglio sapere esattamente l'utilizzo della memoria di tutte le applicazioni in esecuzione come MySQL, Apache e.t.c. Come faccio a visualizzare questo?

Grazie

È stato utile?

Soluzione

Come si suol dire, "E 'complicato".

Linux utilizza la memoria non utilizzata per il buffering del disco e caching. Si accelera le cose. Ma potrebbe essere necessario guardare il -. / + Buffers / cache linea di libero

'ps' in grado di mostrare, per ogni processo, o per tutti i processi, la % cpu , % Mem , cpu-tempo cumulativo , rss (resident set size , la memoria fisica non scambiato che un processo sta utilizzando), size ( molto quantità approssimativa di spazio di scambio che sarebbe necessario se il processo dovevano sporca tutte le pagine scrivibili e poi essere scambiati fuori), vsize (utilizzo della memoria virtuale di tutto il processo (vm_lib + vm_exe + vm_data + vm_stack)), e molto altro ancora .

Per ogni processo, è possibile cat / proc / $ PID / Stato - è leggibile - e controllare il VmSize , VmLck , VmRSS , VmData , VmStk , VmExe , VmLib e VmPTE valori, insieme con gli altri ...

Ma questo è solo l'inizio ... I processi possono allocare la memoria ma non usarla. (La memoria può essere allocata, ma le pagine di memoria non vengono creati / emesse fino a quando sono effettivamente utilizzati. Che tutto on-demand.)

I processi possono mappare nello spazio hardware, mostrando come utilizzare una grande quantità di memoria che non è in realtà provenienti da RAM di sistema. (X-server sono noti a volte fare questo. E 'alcuni driver del kernel coinvolte roba traballante ...)

C'è l'eseguibile, che di solito è un file memory-mapped. Il che significa che le parti che vengono scambiati-in stanno prendendo di RAM, ma quando scambiato è mai occupa file di swap spazio.

I processi possono avere altri file mappati in memoria ...

C'è librerie a memoria condivisa, in cui le stesse pagine RAM sono utilizzate da più programmi contemporaneamente.

Quindi dobbiamo chiedere, per quanto riguarda la memoria va, che cosa esattamente conta e cosa no?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top