Linux load average 高的元凶
如何找出系统中load高时处于运行队列的进程
系统有很高的负载但是CPU使用率却很低,或者负载很低而CPU利用率很高,这两者没有直接关系,如何用脚本统计出来处于运行队列的进程呢?
每隔1s统计一次:
#!/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
从统计出来的结果可以看到:
注:R代表运行中的队列,D是不可中断的睡眠进程
在load比较高的时候,有大量的nginx处于R或者D状态,他们才是造成load上升的元凶,和我们底层的负载确实是没有关系的。
最后也给大家share一下查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
{ 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
Linux load average 高的元凶相关推荐
- Linux Load Average高但磁盘IO和CPU占用率不高的可能原因
vmstat 1:查看block in(bi),block out(bo),interrupt(in),context switch(cs) pidstat -w 1:查看每个进程的context s ...
- Linux load average负载量分析与解决思路
一.load average top命令中load average显示的是最近1分钟.5分钟和15分钟的系统平均负载.系统平均负载表示 系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或 ...
- Linux load average详解
转载至linux load average负载详细解释 一.load average top命令中load average显示的是最近1分钟.5分钟和15分钟的系统平均负载.系统平均负载表示 系统平均 ...
- linux load average,理解Linux中的Load Average
在Linux系统中,使用下面的命令: top w uptime (以上三个命令各有区别,top是以固定间隔显示进程的资源占用排名,w显示who and what they are doing,upti ...
- linux load average,Linux 平均负载 Load Average 详解
一.什么是Load Average? 系统负载(System Load)是系统CPU繁忙程度的度量,即有多少进程在等待被CPU调度(进程等待队列的长度). 平均负载(Load Average)是一段时 ...
- 深入理解 Linux Load Average
一直不解,为什么io占用较高时,系统负载也会变高,偶遇此文,终解吾惑. #1 load average介绍 ##1.1 load average 指标介绍 uptime和top等命令都可以看到load ...
- linux 系统负载高 如何检查
1:load Average 1.1:什么是Load?什么是Load Average? Load 就是对计算机干活多少的度量(WikiPedia:the system Load is a measur ...
- 解决Linux 负载过高问题过程记录
解决问题的思路 1.top命令查看该机器的负载状况 2.cd /proc/pid 查看对应高占用程序的位置 3.进入对应程序中查看日志,根据CPU和内存这两个因素分析 4.ps -ajxf 查看进程 ...
- linux 负载高 标准,linux 系统负载高 如何检查
1:load Average 1.1:什么是Load?什么是Load Average? Load 就是对计算机干活多少的度量(WikiPedia:the system Load is a measur ...
最新文章
- 手摸手教你数据可视化!(附实例讲解)
- 查询时间范围_MySQL慢查询(中):正确处理姿势,你get到了吗?
- JProfiler 5.1.4的使用方法
- MegaSAS RAID卡 BBU Learn Cycle周期的影响
- 利剑无意之JAVA面试题(二)
- c语言程序后退_c语言中向后退一格是啥符号?
- 北京尚学堂|程序员的智慧
- 前端学习(3298):effect的练习
- 求一个数的阶乘值c语言代码,求10000的阶乘(c语言代码实现)
- BugkuCTF-MISC题telnet
- System.Diagnostics.Process.Star的用法
- leetcode刷题日记-在线选举
- 10月15号和16号PC端云音乐项目总结
- 如何转化知网CAJ格式的论文为PDF?
- STVD cpstm8 miss } in struct/union definition
- Linux服务器使用网络代理
- Spring Boot qq邮箱验证码注册和登录验证
- [Mac]制作MacOs Mojave系统盘教程 (全新安装 MacOs系统)
- Google Go 语言从入门到应用必备开源项目
- 软件测试 | 测试开发 | 3年测试经验跳槽成功拿下30W+年薪
热门文章
- Python查漏补缺
- java变量无修饰符默认类型,Java变量与修饰符
- 十年磨一剑? Linux QQ 终于发布了新版本!
- addr2line 输出为?:0可能原因
- 基于 Nepxion/Discovery 的灰度发布实现
- PHPStrom2018最新版软件汉化教程,绝对靠谱
- spark-submit参数说明
- 汇集全球21位医生的经验和智慧,总结出最实用的专业建议,这些都是最值得你牢记的健康秘密~
- 【昇腾AI系列】 在200DK上安装MindX SDK
- ROS使用usb_cam驱动摄像头出现select timeout然后process has died问题