Para verificar quais processos e threads estão consumindo o espaço do swap (e provavelmente causando lentidões), crie um script swapusage.sh com o seguinte conteudo:
#!/bin/bash
# Get current swap usage for all running processes
# Erik Ljungstrom 27/05/2011
SUM=0
OVERALL=0
for DIR in find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"
; do
PID=echo $DIR | cut -d / -f 3
PROGNAME=ps -p $PID -o comm --no-headers
for SWAP in grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'
do
let SUM=$SUM+$SWAP
done
echo PID=$PID - Swap used: $SUM - '(' $PROGNAME ')'
let OVERALL=$OVERALL+$SUM
SUM=0
done
echo Overall swap used: $OVERALL
Agora execute sudo chmod +x swapusage.sh
e execute o script como root: ./swapusage.sh
.\
Para ordenar por uso de swap: ./swapusage.sh | sort -n -k 5
.\
Para remover da lista os que não usam swap e ordenar também: ./swapusage.sh | egrep -v "Swap used: 0" |sort -n -k 5
.