【原创】大叔经验分享(90)linux服务器iowait和负载很高
# top
top - 21:21:51 up 207 days, 1:30, 5 users, load average: 0.90, 0.79, 1.62
Tasks: 249 total, 1 running, 246 sleeping, 2 stopped, 0 zombie
%Cpu(s): 49.2 us, 2.0 sy, 0.0 ni, 48.1 id, 0.0 wa, 0.0 hi, 0.6 si, 0.0 st
如果load average很大(参考核数),则系统负载很高,其中一种可能是由于iowait很大,具体可见%Cpu中的wa,通常wa=0.0,
iowait很大有两种可能,一种是网络,一种是磁盘,并且极有可能是磁盘,检查磁盘io,有多种命令:
1)iotop
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 22
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
# iotop -b -n 5 -d 2
以非交互方式每隔2s运行5次
可以发现读写io很高的进程;
2)iostat
Linux 3.10.0-957.5.1.el7.x86_64 (002) 01/11/2019 _x86_64_ (8 CPU) avg-cpu: %user %nice %system %iowait %steal %idle
15.42 0.00 2.19 1.06 0.00 81.33 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 33.36 100.93 420.00 1805775696 7514000609
vdb 48.99 460.82 5627.92 8244424473 100686856544
vdc 3.77 91.20 262.15 1631539193 4689931576
vdd 0.74 26.14 106.88 467597777 1912213584
# iostat -x 2 5
每隔2s运行5次
avg-cpu: %user %nice %system %iowait %steal %idle
6.73 0.00 15.63 58.83 0.00 18.81 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 7.00 0.50 6.00 2.00 54.00 17.23 0.00 0.54 0.00 0.58 0.38 0.25
vdb 0.00 5.00 0.00 1.50 0.00 26.00 34.67 0.00 0.67 0.00 0.67 0.67 0.10
vdc 0.00 0.00 1.00 0.00 64.00 0.00 128.00 37.88 23500.00 23500.00 0.00 619.00 61.90
vdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
可以发现读写io很高的磁盘;
如果发现一个磁盘读写io很高,怎么查看是哪些进程导致的?
# lsof /dev/vdc1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 2688 hdfs 299uW REG 253,33 16 3407875 /data/dfs/dn/in_use.lock
java 9982 jenkins mem REG 253,33 304183 1181098 /data/jenkins/plugins/github-branch-source/WEB-INF/lib/github-branch-source.jar
如何查看一个进程有哪些io?
# lsof -p $pid
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 19891 hdfs cwd DIR 0,38 400 1047556664 /opt/cloudera-manager/cm-5.16.1/run/cloudera-scm-agent/process/806-hdfs-DATANODE
java 19891 hdfs rtd DIR 253,1 4096 2 /
【原创】大叔经验分享(90)linux服务器iowait和负载很高的更多相关文章
- 【原创】经验分享:一个小小emoji尽然牵扯出来这么多东西?
前言 之前也分享过很多工作中踩坑的经验: 一个线上问题的思考:Eureka注册中心集群如何实现客户端请求负载及故障转移? [原创]经验分享:一个Content-Length引发的血案(almost.. ...
- 高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群
高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群 libnet软件包<-依赖-heartbeat(包含ldirectord插件(需要perl-MailTools的rpm包)) l ...
- Linux服务器程序--大数据量高并发系统设计
在Linux服务器程序中,让系统能够提供以更少的资源提供更多的并发和响应效率决定了程序设计价值!怎样去实现这个目标,它其实是这么多年以来一直追逐的东西.最开始写代码时候,省去一个条件语句.用 ...
- 性能测试问题_Mysql数据库服务器的CPU占用很高
MySQl服务器CPU占用很高 1. 问题描述 一个简单的接口,根据传入的号段查询号码归属地,运行性能测试脚本,20个并发mysql的CPU就很高,监控发现只有一个select语句,且表建立了索引 ...
- 【原创】大叔经验分享(27)linux服务器升级glibc故障恢复
redhat6系统默认安装的glibc-2.12,有的软件依赖的是glibc-2.14,这时需要升级glibc,下载安装 http://ftp.gnu.org/gnu/glibc/glibc-2.14 ...
- 【原创】大叔经验分享(26)hive通过外部表读写elasticsearch数据
hive通过外部表读写elasticsearch数据,和读写hbase数据差不多,差别是需要下载elasticsearch-hadoop-hive-6.6.2.jar,然后使用其中的EsStorage ...
- 【原创】大叔经验分享(36)CM部署kafka
1 下载kafka parcel http://archive.cloudera.com/kafka/parcels/latest/KAFKA-3.1.1-1.3.1.1.p0.2-el7.parce ...
- 【原创】大叔经验分享(89)docker启动openjdk执行jmap报错
docker启动openjdk后,可以查看进程 # docker exec -it XXX jps 10 XXX.jar 可见启动的java进程id一直为10,然后可以执行jvm命令,比如 # doc ...
- 【原创】大叔经验分享(88)jenkins假死
jenkins安装启动后,使用systemctl来进行进程监控 # systemctl enable jenkins 但是还是经常发生jenkins进程挂了,不会自动重启,通过systemctl查看状 ...
随机推荐
- Android中为什么主线程不会因为Looper.loop()方法造成阻塞
很多人都对Handler的机制有所了解,如果不是很熟悉的可以看看我 如果看过源码的人都知道,在处理消息的时候使用了Looper.loop()方法,并且在该方法中进入了一个死循环,同时Looper.lo ...
- latex运算符
一些小的运算符,可以在数学模式下直接输入,但是有一些运算符需要用控制序列生成:
- CardView 简介和使用
CardView 简介 本文链接:https://blog.csdn.net/ShawnXiaFei/article/details/81568537CardView 是 Google 官方发布 MD ...
- JDK&JRE
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE.所以安装了JDK,就不用在单独安装JRE了. 其中的开发工具:编译工具(javac.exe) 打包工具(jar.ex ...
- osgViewer::Viewer::Windows
osg自带窗口去掉边框 #ifdef _WIN32 #include <Windows.h> #endif // _WIN32 #include<iostream> #incl ...
- Apache配置优化之开启KeepAlive
在HTTP 1.0中和Apache服务器的一次连接只能发出一次HTTP请求,而KeepAlive参数支持HTTP 1.1版本的一次连接,多次传输功能,这样就可以在一次连接中发出多个HTTP请求.从而避 ...
- 修改iPhone5s crash 问题
- 图像Resize中0.5像素中心对齐的问题
目录 0.5像素对齐的问题 0.5像素对齐的问题 1. 问题提出 在进行图像缩放时,偶尔会看到一些比较奇怪的代码,其中有一个就是0.5像素中心对齐的问题,例如在OpenCV线性插值的代码中有类似如下操 ...
- 《Fluid Engine Development》 学习笔记2-基础
断断续续花了一个月,终于把这本书的一二两章啃了下来,理解流体模拟的理论似乎不难,无论是<Fluid Simulation for Computer Graphics>还是<计算流体力 ...
- JAVA数据结构和算法 1-综述:数据结构和数据类型
数据结构:指数据在计算机内存空间中或者磁盘中的组织形式. 对于数据结构的操作:插入.删除.查找.迭代遍历.排序等: Java.util包中含有诸如向量(一个可扩充的数组).栈.哈希表等类型的数据结构, ...