Du code, du communisme

Vérifier la RAM que consomme un process sous Linux avec pmap

Des fois on a son serveur qui swap à mort, tout ralentie, votre site vaut plus rien, vous êtes désespéré, c’est la faute à tout le monde sauf vous, etc… Sauf que vous avez fait un script qui check rien du tout, qui lance des process externes qui buguent 2 fois sur 3, votre script tout pourri a alors bouffé toute la RAM, ne laissant rien aux autres process, le système swap à mort, c’est le drame…
Avec pmap vous pouvez connaitre la mémoire utilisée par un process, très pratique pour dénicher qui consomme et remonter à la source.
Un petit ps aux pour connaitre l’id de votre process à espionner ou à défaut un htop:

ps aux | grep redis
redis    23777  0.1  6.8  72480 70708 ?        Ss   01:15   0:03 /usr/sbin/redis-server /etc/redis.conf

Ensuite on passe l’ID à pmap:

pmap 23777
23777:   /usr/sbin/redis-server /etc/redis.conf
0089a000    108K r-x--  /lib/ld-2.5.so
...
bf9d5000     84K rw---    [ stack ]
 total    72476K

Redis occupe 72Mo de RAM. Dans mon cas c’est normal, celà correspond à mes valeurs de config.