Преводач

8/21/2013

Как да открием кои процеси използват swap?


Командите top и free показват съответно количеството заета и свободна памет в системата и swap. Ето как можем да открием кои са процесите, които използват swap паметта й.

  • /proc/meminfo
  • /proc/${PID}/smaps, /proc/${PID}/status, и /proc/${PID}/stat
  • smem
Намиране идентификатора на процеса и използваната swap памет. Следващата команда ще изпише идентификатора на memcached процеса 

  • pidof memcached

Може да се използва и варианта с pgrep

  • pgrep memcache
Примерен изход:

48440


За да се покаже използваната swap памет от конкретния процес, трябва да се изпълни:

grep --color VmSwap /proc/48440/status


Примерен изход

VmSwap: 900kB


За целта може да се използва и awk:

awk '/VmSwap/{print $2 " " $3}' /proc/48440/status

Примерен изход:


Показването на използването от всички процеси swap пространство

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file;done

За прегледност изходът от горната команда може да се сортира

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file;done | sort -k 2 -n -r | less


Примерен изход:

php-cgi 11964 kB
php-cgi 11016 kB
php-cgi 10392 kB
php-cgi 10336 kB
php-cgi 9844 kB
php-cgi 9780 kB
php-cgi 8584 kB
php-cgi 7996 kB
php-cgi 7960 kB
php-cgi 7956 kB
php-cgi 7796 kB

Няма коментари:

Публикуване на коментар