| Escrit per mecatxis,
el 27-12-2008 16:47
|
Visites : 16357 |
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. |