首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >shell脚本之--查看CUP最高线程

shell脚本之--查看CUP最高线程

作者头像
IT运维技术圈
发布2023-03-17 15:31:00
发布2023-03-17 15:31:00
7700
举报
文章被收录于专栏:IT运维技术圈IT运维技术圈

查看CPU使用率高的线程

代码语言:javascript
复制
#!/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
{ LANG=C 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

效果:

查看load高时处于运行队列的进程:

代码语言:javascript
复制
#!/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 "\n"
  sleep ${interval}
done

效果:

代码语言:javascript
复制
R代表运行中的队列,D是不可中断的睡眠进程

总结:

系统有很高的负载但是CPU使用率却很低,或者负载很低而CPU利用率很高,这两者没

有直接关系

原作者:网络

收集:IT运维技术圈

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档