Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> sistemi >> Linux >> .

Quanta memoria di Linux è utilizzato da un processo

? Determinazione della quantità di memoria utilizzata da un processo in esecuzione su una piattaforma Linux è una proposta difficile . I valori di utilizzo della memoria riportati dal sistema operativo sono imprecisi . Quando si usano le utilità incorporate forniti con Linux , è importante capire le statistiche di utilizzo della memoria e come vengono calcolati . Come funziona un processo utilizzare la memoria ?

Quando un processo viene avviato , il sistema operativo alloca la quantità di memoria del processo richiede per l'esecuzione. Ogni processo ha quattro segmenti di memoria di codice eseguibile e dati. Il segmento " codice" contiene le istruzioni eseguibili . Il segmento " dati " contiene variabili statiche e globali . La "pila " contiene le variabili locali . Il "cumulo" contiene oggetti allocati dinamicamente . I processi possono utilizzare librerie condivise. Librerie condivise vengono caricati in memoria solo una volta , e tutti i processi che utilizzano una particolare libreria condivisa useranno quella copia.
Cosa Statistiche memoria ha Segnala Linux ?

Memoria virtuale è la quantità totale di spazio di indirizzi riservato dal sistema operativo al processo per le sue codice, dati e stack . La dimensione della memoria virtuale riportato da Linux include tutto il codice , dati e lo spazio dello stack riservato per l'utilizzo da parte di un processo , sia sulla memoria fisica e lo spazio di swap . Questo valore include lo spazio utilizzato da tutte le librerie condivise utilizzate dal processo . L'implicazione di questo è che le librerie condivise contano in piena verso la dimensione di un dato processo .

La dimensione della memoria residente di un processo riportato da Linux include solo la quantità di memoria fisica del processo e le librerie condivise a cui fa riferimento stanno utilizzando in un dato momento . Segmenti spostati nello spazio di swap non sono inclusi . Come con la dimensione della memoria virtuale, la dimensione della memoria residente include lo spazio utilizzato da librerie condivise.
Visione di un'istantanea semplice processo con ps

L'utilità ps fornisce una un'istantanea dei processi in esecuzione sul sistema , riportando la dimensione virtuale e residente in memoria , CPU e le percentuali di memoria , e un'ampia varietà di altre informazioni . Per esaminare un singolo processo , utilizzare le seguenti opzioni di ps , tra vsz per la dimensione della memoria virtuale , e rss per la dimensione della memoria residente. Per esempio , Stati

ps p 3746 o pid , rss , vsz , comm
uscite

processo 3746 :

PID RSS VSZ COMMAND3746 14444 351216 httpd2

Processi di monitoraggio con il top

L'utilità superiore fornisce una visione dal vivo delle prestazioni del sistema . Per monitorare uno o più processi specifici con la parte superiore , usare l'opzione - p per fornire un elenco di ID di processo . Per esempio :

top- p 3746,6100,28753,23176,25544

Dopo aver lanciato in alto , ha colpito il tasto di comando "f" per accedere alla schermata di selezione della colonna. Accendere il display per il PID , virt , RES , SHR , SWAP , codice, dati , e le colonne del comando. Come illustrato nella schermata, il display visualizza ora le seguenti statistiche di memoria :

Virt : sizeRES memoria virtuale : Resident sizeSHR memoria : memoria condivisa sizeSWAP : sizeCODE Scambiato : Taglia Codice in memoryDATA fisico : i dati più la dimensione dello stack in memoria fisica
Sbirciare nel /proc

dettagliate sullo stato e le informazioni di utilizzo della memoria di processo può essere trovato in /proc / /status e /proc / /smaps . Una varietà di informazioni sono contenute in /proc / /status , tra cui queste statistiche della memoria :

VmPeak : memoria virtuale Peak sizeVmSize : Virtual memoryVmData : sizeVmStk segmento Dati: Stack sizeVmExe : segmento sizeVmLib eseguibile: Biblioteca codice Misura

/proc / /smaps fornisce una visione molto dettagliata di usi della memoria di un processo ' , ripartiti per la mappatura per il codice , pila , mucchio e ogni libreria condivisa. L'uscita completa di smaps è piuttosto lunga e difficile da digerire . È possibile utilizzare il Linux : modulo smaps Perl per analizzare ed elaborare il file smaps

.

 

sistemi © www.354353.com