Como saber cuanta swap usan los procesos en Linux

Hay veces que nos encontramos con que un ordenador está swapeando pero no tenemos claro de donde viene ese uso de memoria swap. Para saber cuanta swap usan los procesos en Linux podemos hacer uso de este script. Es una modificación del original escrito por Erik Ljungstrom. En su versión era necesario tener permisos de root para ejecutarlo. En esta versión obtenemos el uso de swap de los procesos de Linux con un usuario con permisos normales.

Actualizo 201608 – Adjunto el script para comprobar que procesos usan swap dentro de un archivo zip ya que un usuario me ha advertido de que un plugin que uso en wordpress estaba convirtiendo signos y haciendolo inservible.

Descarga de cuantaSwap.zip

A continuación vamos a ver un ejemplo de uso del script donde podremos ver cuanto ha swapeado cada proceso en un servidor con casi su 100% de swap en uso.

root@server:~# ./cuantaSwap.sh
PID=278 swapped 204 KB (lvmetad)
PID=284 swapped 4268 KB (systemd-journal)
PID=689 swapped 60 KB (atd)
PID=692 swapped 32 KB (cron)
PID=696 swapped 328 KB (accounts-daemon)
PID=703 swapped 440 KB (systemd-logind)
PID=707 swapped 640 KB (rsyslogd)
PID=722 swapped 4272 KB (vmtoolsd)
PID=724 swapped 300 KB (dbus-daemon)
PID=746 swapped 92 KB (irqbalance)
PID=763 swapped 504 KB (sshd)
PID=781 swapped 124 KB (polkitd)
PID=912 swapped 6248 KB (nginx)
PID=1211 swapped 2004 KB (fail2ban-server)
PID=1493 swapped 356 KB (screen)
PID=1494 swapped 732 KB (bash)
PID=1508 swapped 133304 KB (java)
PID=6752 swapped 2788 KB (php5-fpm)
PID=11858 swapped 328 KB (sshd)
PID=16759 swapped 5892 KB (memcached)
PID=17086 swapped 392 KB (systemd-udevd)
PID=24029 swapped 208 KB (systemd-timesyn)
PID=27153 swapped 164 KB (mysqld_safe)
PID=27567 swapped 1532 KB (php5-fpm)
.
.
.
PID=27575 swapped 1548 KB (php5-fpm)
PID=27576 swapped 339284 KB (mysqld)
PID=27601 swapped 1552 KB (php5-fpm)
.
.
.
PID=27903 swapped 1560 KB (php5-fpm)
PID=31809 swapped 4668 KB (nginx)
PID=31810 swapped 4808 KB (nginx)
PID=31811 swapped 4912 KB (nginx)
PID=31812 swapped 5116 KB (nginx)
PID=31813 swapped 4628 KB (nginx)
PID=31814 swapped 5068 KB (nginx)
Overall swap used: 558412 KB