检查进程使用swap空间的shell脚本
时间:2014-09-30 21:56 来源:linux.it.net.cn 作者:it
分享一个shell脚本,用于检查进程使用swap空间情况。
检查进程所使用的swap空间,代码如下:
复制代码代码示例:
#!/bin/bash
#Filename:check_swap.sh
echo -e "PID\t\tSwap\t\tProc_Name"
# 取/proc目录下所有以数字为名的目录(进程名是数字才是进程)
(for pid in `ls -l /proc | grep ^d | awk '{ print $8 }'| grep -v ^[^0-9]`
do
if [ ! -e /proc/$pid ];then
continue
fi
PName=$(cat /proc/$pid/cmdline)
awk -v name=$PName -v pid=$pid '
{
if($1 ~ /^Swap/)
{
swap += $2
}
}
END{
if(swap != 0)
print pid"\t\t"swap" kb\t\t"name
}' /proc/$pid/smaps 2>/dev/null
done) | sort -rnk2
为脚本加上执行权限:
复制代码代码示例:
#chmod u+x check_swap.sh
执行脚本:
复制代码代码示例:
#sh check_swap.sh
执行结果:
PID Swap Proc_Name
356 816 kb udevd--daemon
355 788 kb udevd--daemon
265 776 kb udevd--daemon
507 664 kb rsyslogd-c4
827 484 kb /usr/sbin/cupsd-F
617 480 kb NetworkManager
434 428 kb /usr/sbin/sshd-D
829 424 kb gdm-binary
671 420 kb /usr/lib/policykit-1/polkitd
667 304 kb /usr/sbin/modem-manager
700 272 kb /sbin/wpa_supplicant-u-s
732 172 kb acpid-c/etc/acpi/events-s/var/run/acpid.socket
705 168 kb /sbin/dhclient-d-4-sf/usr/lib/NetworkManager/nm-dhcp-client.action-pf/var/run/dhclient-eth0.pid-lf/var/lib/dhcp/dhclient-352800b5-14dd-4450-b596-a407f9cebf0f-eth0.lease-cf/var/run/nm-dhclient-eth0.confeth0
252 164 kb upstart-udev-bridge--daemon
526 136 kb dbus-daemon--system--fork--activation=upstart
1 120 kb /sbin/init
735 112 kb atd
734 112 kb cron
726 80 kb /sbin/getty-838400tty2
715 80 kb /sbin/getty-838400tty4
730 76 kb /sbin/getty-838400tty6
727 76 kb /sbin/getty-838400tty3
719 76 kb /sbin/getty-838400tty5
837 64 kb /usr/sbin/console-kit-daemon--no-daemon
599 64 kb upstart-socket-bridge--daemon
1202 4 kb /usr/bin/gnome-keyring-daemon--daemonize--login
1062 4 kb /sbin/getty-838400tty1
(责任编辑:IT)
分享一个shell脚本,用于检查进程使用swap空间情况。
检查进程所使用的swap空间,代码如下:
复制代码代码示例:
#!/bin/bash
echo -e "PID\t\tSwap\t\tProc_Name"
为脚本加上执行权限:
复制代码代码示例:
#chmod u+x check_swap.sh
执行脚本:
复制代码代码示例:
#sh check_swap.sh
执行结果:
PID Swap Proc_Name
356 816 kb udevd--daemon 355 788 kb udevd--daemon 265 776 kb udevd--daemon 507 664 kb rsyslogd-c4 827 484 kb /usr/sbin/cupsd-F 617 480 kb NetworkManager 434 428 kb /usr/sbin/sshd-D 829 424 kb gdm-binary 671 420 kb /usr/lib/policykit-1/polkitd 667 304 kb /usr/sbin/modem-manager 700 272 kb /sbin/wpa_supplicant-u-s 732 172 kb acpid-c/etc/acpi/events-s/var/run/acpid.socket 705 168 kb /sbin/dhclient-d-4-sf/usr/lib/NetworkManager/nm-dhcp-client.action-pf/var/run/dhclient-eth0.pid-lf/var/lib/dhcp/dhclient-352800b5-14dd-4450-b596-a407f9cebf0f-eth0.lease-cf/var/run/nm-dhclient-eth0.confeth0 252 164 kb upstart-udev-bridge--daemon 526 136 kb dbus-daemon--system--fork--activation=upstart 1 120 kb /sbin/init 735 112 kb atd 734 112 kb cron 726 80 kb /sbin/getty-838400tty2 715 80 kb /sbin/getty-838400tty4 730 76 kb /sbin/getty-838400tty6 727 76 kb /sbin/getty-838400tty3 719 76 kb /sbin/getty-838400tty5 837 64 kb /usr/sbin/console-kit-daemon--no-daemon 599 64 kb upstart-socket-bridge--daemon 1202 4 kb /usr/bin/gnome-keyring-daemon--daemonize--login 1062 4 kb /sbin/getty-838400tty1 |