memstat: Descobreix on es fa servir la memòria virtual.
Escrit al 2008-12-27 15:47:48 per Mecatxis
Un nou article de Deb a Day traduït a la web de Catux: memstat: Descobreix on es fa servir la memòria virtual.
Article de Todd Troxel publicat el 19 d'Octubre del 2008 per Vicho
Aquesta eina et permet saber quines llibreries i programes estant consumint memòria. És molt fàcil de fer servir. Aquí teniu un exemple de sortida (la opció -w fa que memstat no talli les línies a 80 columnes):
gaius% memstat -w
256k: PID 5465 (/lib/ld-2.3.6.so)
368k: PID 13019 (/var/db/nscd/passwd)
3352k: PID 13914 (/usr/lib/gconv/gconv-modules.cache)
8k: /usr/bin/memstat 5465
12k: /lib/libcap.so.1.10 13019
256k: /lib/libncurses.so.5.5 13914
88k: /lib/ld-2.3.6.so 5465 13019
256k: /lib/libncurses.so.5.5 13019
1212k: /lib/tls/libc-2.3.6.so 13914
32k: /lib/tls/libnss_compat-2.3.6.so 13914
24k: /lib/tls/libcrypt-2.3.6.so 13914
12k: /lib/tls/libdl-2.3.6.so 13914
144k: /lib/tls/libm-2.3.6.so 13914
76k: /lib/tls/libnsl-2.3.6.so 13914
40k: /lib/tls/libnss_files-2.3.6.so 13914
36k: /lib/tls/libnss_nis-2.3.6.so 13914
60k: /lib/tls/libpthread-2.3.6.so 13914
28k: /lib/tls/librt-2.3.6.so 13914
88k: /lib/ld-2.3.6.so 13914
1212k: /lib/tls/libc-2.3.6.so 5465 13019
12k: /lib/tls/libdl-2.3.6.so 13019
144k: /lib/tls/libm-2.3.6.so 13019
76k: /lib/tls/libnsl-2.3.6.so 13019
480k: /bin/zsh-beta 13019
212k: /var/db/nscd/passwd 13019
788k: /usr/bin/irssi 13914
148k: /usr/lib/libpcre.so.3.12.0 13019
176k: /usr/lib/perl5/auto/Irssi/Irssi.so 13914
80k: /usr/lib/perl5/auto/Irssi/Irc/Irc.so 13914
80k: /usr/lib/perl5/auto/Irssi/UI/UI.so 13914
12k: /usr/lib/gconv/CP1252.so 13914
24k: /usr/lib/gconv/gconv-modules.cache 13914
76k: /usr/lib/libz.so.1.2.3 13914
584k: /usr/lib/libglib-2.0.so.0.1200.4 13914
1128k: /usr/lib/libperl.so.5.8.8 13914
12k: /usr/lib/libgmodule-2.0.so.0.1200.4 13914
1240k: /usr/lib/i686/cmov/libcrypto.so.0.9.8 13914
248k: /usr/lib/i686/cmov/libssl.so.0.9.8 13914
8k: /usr/lib/zsh-beta/4.3.2-dev-1/zsh/terminfo.so 13019
24k: /usr/lib/zsh-beta/4.3.2-dev-1/zsh/zutil.so 13019
56k: /usr/lib/zsh-beta/4.3.2-dev-1/zsh/compctl.so 13019
116k: /usr/lib/zsh-beta/4.3.2-dev-1/zsh/complete.so 13019
196k: /usr/lib/zsh-beta/4.3.2-dev-1/zsh/zle.so 13019
--------
13480k
Aquesta sortida llista una sèrie de llibreries i processos carregats en memòria i l'espai que ocupen. En primer lloc es llisten els processos i la quantitat de memòria que fan servir. No inclou la memòria compartida. A continuació, els objectes compartits i, al final, el total.
Per si us interessa, els objectes compartits són com ara /lib/tls/libc-2.3.6.s que és compartida per tots els processos que els necessiten per estalviar memòria i així tot rutlla més ràpid. En comptes de carregar aquesta llibreria a la memòria per cada procés, Linux en carrega una còpia i la fa servir per tots els processos que la necessitin. Potser us n'adonareu que aquests valors no coincideixen amb el que diu el sistema. Si feu una ullada a ps(1) veureu dues columnes relacionades amb la memòria: RSS i VSZ. Per cadascun dels processos, RSS és la quantitat de memòria que fa servir el proces, i VSZ la quantitat comptant els objectes compartits. Per que quadri correctament, cal comptar cada objecte compartit un sol cop a tot el sistema.
Es pot mostrar les dades de l'usuari executant memstat com a usuari sense privilegis. Quan s'executa coma root, memstat mostrat tot el que es consumeix al sistema.
Memstat funciona escanejant els fitxers a /proc i buscant els binaris als camins llistats a /etc/memstat.conf. El fitxer que hi ha per defecte sol ser suficient normalment. Si teniu llibreries o binaris que no són al lloc estàndard, heu de modificar el fitxer per poder tenir resultats fiables.
L'autor de memstat és Joshua Yelon. Està disponible a totes les distribucions de Debian i Ubuntu actuals.
Categories: Articles, Trucs
Comentaris
- Sense comentaris