shell 脚本监控cpu 和内存使用率

#!/bin/bash

########################################################################
#This scripts is checking the i/o stat,vision 0.1Bate
#  Write by finddream
#If you have some advise about it ,you can mail :finddream863@163.com
########################################################################

#make the local language is chinese
#export LANG=zh_CN

#make the around command path

ECHO=/bin/echo
SED=/bin/sed
AWK=/bin/awk
UPTIME=/bin/uptime
VMSTAT=/usr/bin/vmstat
FREE=/usr/bin/free
IPTABLES=/sbin/iptables
GREP=/bin/grep
TOP=/usr/bin/top
HEAD=/usr/bin/head
DF=/bin/df
CAT=/bin/cat

#check the iostat file is exits
DATE_FILE=`date +%Y%m%d`
IOSTAT_FILE=./iostat_$DATE_FILE.txt

if [ -e $IOSTAT_FILE ]
then       
        echo "The iostat file is exits!"
else
        touch $IOSTAT_FILE
fi

#setup the time of the check

DATE=`/bin/date +%c`
$ECHO "   " >> $IOSTAT_FILE
$ECHO "   " >> $IOSTAT_FILE
$ECHO "本次检测的时间是DATE" >> $IOSTAT_FILE
$ECHO "---------------------------------------------------------------------------------------------" >>$IOSTAT_FILE

#check the cpu stat

$ECHO "当前时刻CPU使用状况如下:" >> $IOSTAT_FILE
$ECHO "`$TOP -n 1 |$GREP  Cpu`"   >> $IOSTAT_FILE
$ECHO "---------------------------------------------------------------------------------------------" >>$IOSTAT_FILE

#check the memory stat

$ECHO "当前时刻内存占用情况如下:" >> $IOSTAT_FILE
$ECHO "`$FREE |$GREP  -1 Mem |$HEAD -n 2 `" >> $IOSTAT_FILE
$ECHO "----------------------------------------------------------------------------------------------" >>$IOSTAT_FILE

#check the disk stat

$ECHO "当前时刻磁盘空间使用情况如下:" >> $IOSTAT_FILE
$ECHO "`$DF -h `" >> $IOSTAT_FILE
$ECHO "----------------------------------------------------------------------------------------------" >>$IOSTAT_FILE

#check the network stat

NETWORK_STAT=/proc/net/dev
$ECHO "当前时刻网络流量统计如下:"  >> $IOSTAT_FILE
$ECHO "`$CAT $NETWORK_STAT|$GREP -v lo |$GREP -v sit0 `" >> $IOSTAT_FILE
$ECHO "##################################################################################################################################" >> $IOSTAT_FILE

exit 0

### 回答1: 可以使用Linux系统自带的命令"top"来监控CPU使用率。也可以使用"ps"命令和"grep"命令结合来监控某个进程的CPU使用率。另外也可以使用"sar"命令来查看系统整体的CPU使用率。 也可以使用 shell 脚本监控 CPU 使用率。可以使用如下代码: ``` #!/bin/bash while true do CPU=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}') echo "CPU Usage: $CPU%" sleep 5 done ``` 这个脚本每5秒钟执行一次,查询一次 CPU 使用率并输出。 ### 回答2: Shell脚本可以用于监控CPU使用率,下面是一些方法和步骤: 1. 使用命令top或者ps来获取CPU使用率信息。可以利用awk命令从top或ps的输出结果中提取CPU使用率数据。 2. 编写一个while循环,在循环中调用上述命令来获取CPU使用率。 3. 判断CPU使用率是否超过了某个阈值。如果超过了阈值,则可以执行相应的操作,比如发送警报邮件或者杀死某个进程。 4. 可以使用crontab来调度该脚本,定期运行以保持对CPU使用率监控。 5. 还可以使用Linux内核提供的proc文件系统来获取CPU使用率信息。通过读取/proc/stat文件,可以获取CPU的整体使用率信息。另外,通过读取/proc/[PID]/stat文件,可以获取某个进程的CPU使用率。 6. 将监控脚本进行优化,比如添加日志记录和定期清理。 ### 回答3: Shell脚本是一种强大的开发工具,可以用来实现各种功能,如文件处理、系统管理等。其中一种常见的功能是监控CPU使用率。 为了实现这个功能,我们需要编写一个Shell脚本,在其中搭建一个循环,以不断检测CPU使用率。这个循环需要监控CPU的两个关键指标:CPU使用时间(user)和空闲时间(idle)。我们可以通过读取/proc/stat文件来获取这些信息。 读取/proc/stat文件后,我们需要将CPU使用时间和空闲时间保存到变量中,每隔一段时间重新读取这个文件,然后计算CPU使用率,并将结果输出到屏幕或日志文件中。具体来说,我们可以把两次读取的值相减,然后将差值除以总时间再乘以100,得出CPU使用率的百分比。 另外,我们可以为CPU使用率设置一个阈值,当CPU使用率超过这个阈值时,我们可以触发一些动作,比如发出警报或执行一些处理程序。 需要注意的是,每个系统的/proc/stat文件格式可能不完全相同,因此在编写脚本时需要对不同系统进行适当的调整。另外,定时循环和计算可能会占用一些CPU资源,因此需要谨慎设置循环间隔时间和阈值。 总之,Shell脚本是一种非常方便的工具,可以用来实现各种系统监控功能。通过编写一个简单的脚本,我们可以轻松地监控CPU使用率,并在需要时进行相应的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值