负载检测小脚本

本文提供了两个Bash脚本,用于监控Linux系统负载和CPU使用率。第一个脚本周期性输出处于运行队列(R/D状态)的进程信息及平均负载;第二个脚本按CPU使用率排序显示前20个线程,并计算总CPU使用率。适用于系统性能排查。

作者:zhuge···预计阅读 3 分钟·781 阅读·0 评论
负载检测小脚本

用来检测负载的脚本

```bash #找出系统中load高时处于运行队列的进程 #!/bin/bash LANG=C PATH=/sbin:/usr/sbin:/bin:/usr/bin interval=1 length=86400 for i in $(seq 1 $(expr ${length} / ${interval}));do date LANG=C ps -eTo stat,pid,tid,ppid,comm --no-header | sed -e 's/^ \*//' | perl -nE 'chomp;say if (m!^\S*[RD]+\s*!)' date cat /proc/loadavg echo -e "\ " sleep ${interval} done

#查CPU使用率比较高的线程 #!/bin/bash LANG=C PATH=/sbin:/usr/sbin:/bin:/usr/bin interval=1 length=86400 for i in $(seq 1 $(expr ${length} / ${interval}));do date LANG=C ps -eT -o%cpu,pid,tid,ppid,comm | grep -v CPU | sort -n -r | head -20 date LANG=C cat /proc/loadavg { ps -eT -o%cpu,pid,tid,ppid,comm | sed -e 's/^ *//' | tr -s ' ' | grep -v CPU | sort -n -r | cut -d ' ' -f 1 | xargs -I{} echo -n "{} + " && echo ' 0'; } | bc -l sleep ${interval} done fuser -k $0

相关文章

评论

加载中...