教程集 www.jiaochengji.com
教程集 >  脚本编程  >  shell  >  正文 检查进程使用swap空间的shell脚本

检查进程使用swap空间的shell脚本

发布时间:2014-10-14   编辑:jiaochengji.com
分享一个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

您可能感兴趣的文章:
检查进程使用swap空间的shell脚本
监测服务器内存、磁盘、cpu、swap的脚本
监控linux服务器性能的shell脚本
监控Linux系统内存的shell脚本(图文)
linux下增加swap分区容量的方法
监控硬盘空间使用率的shell脚本(图文)
限制用户进程CPU与内存占用率的SHELL脚本
几个shell自动化脚本(定期清理、磁盘空间、搜寻关键字)
linux下监视进程挂掉后自动重启的shell脚本
学习linux shell中 if else以及大于、小于、等于逻辑表达式

[关闭]
~ ~