shell脚本

#/bin/bash

LOAD=$(awk '{print $1}' /proc/loadavg)
CPUNUM=$(grep -c processor /proc/cpuinfo)

if [ $(echo "$LOAD > $CPUNUM" | bc) = 1 ]; then
    RESULT=$(ps -eo pcpu,pmem,user,args | awk '$1 > 0' | sort -nr)
    if [ -n "$RESULT" ]; then
        echo "$RESULT" > /var/log/ps.$(date +"%Y%m%d%H%M")
    fi
fi

 该脚本功能是查看问题进程。

首先获取1分钟内系统的平均进程,

获取cpuinfo文件中processor的行数。

如果平均进程数大于行数,呢么,显示所有pcpu大于0的 进程,写入到指定文件中去。

第一行是调用awk命令。默认awk采用空格分隔,print $1 ,打印出第一个选项。

grep命令用来处理文本,详细使用方法,参考linux命令模块。

相关推荐