Scopri la memoria totale allocata per un particolare processo in Ubuntu


Risposte:


14

Provare:

pidof bash | xargs ps -o rss,sz,vsz

Per trovare l'utilizzo della memoria della bashshell corrente (supponendo che tu stia utilizzando bash). Passa basha qualsiasi cosa tu stia indagando. Se stai seguendo un processo specifico, usa semplicemente:

ps -o rss,sz,vsz <process id>

Dalla manpagina:

RSS: dimensione del set di residenti, memoria fisica non scambiata utilizzata da un'attività (in kiloByte).

SZ: dimensione nelle pagine fisiche dell'immagine principale del processo. Ciò include testo, dati e spazio dello stack.

VSZ: dimensione della memoria virtuale del processo in KiB (unità da 1024 byte).

La manpagina per pselencherà tutti i possibili argomenti -odell'opzione (ce ne sono alcuni tra cui scegliere). Invece di -o rss,szte puoi usare l' vopzione di stile BSD (senza trattino) che mostra un layout di memoria alternativo.


Grazie gareth ... Stai dicendo che SZ è la memoria allocata per quel processo?
Anjali,

4
C'è un buon QA qui che spiega il rapporto tra RSS, SZe VSZ.
garethTheRed,


0

come scoprire la memoria totale allocata per un particolare processo in Ubuntu?

Non si definisce quale sia la memoria allocata per un processo, e in realtà questa è una domanda piuttosto complessa (che dire dei mapping di memoria condivisa - vedi mmap (2) per i dettagli; che dire della memoria condivisa POSIX - vedi shm_overview (7) per più ; che dire di alcune pagine nella cache delle pagine utilizzate per i file aperti; ecc ...)

È possibile utilizzare il /proc/file system (che BTW viene utilizzato da ps, pmap, top, htopecc ....). Leggi proc (5) per ulteriori informazioni. In particolare per il processo di pid 1234 si potrebbe usare /proc/1234/status, /proc/1234/statm, /proc/1234/mapsecc ... Sono tutti pseudo-file testuali (un po 'come tubi) che si possono vedere con cat(o leggere in sequenza all'interno di un certo programma). A proposito, dall'interno di un programma potresti usare /proc/self (che è uno pseudo symlink), ad esempio leggere in sequenza /proc/self/statusecc ...

Vedi anche LinuxAteMyRam .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.