大叔经验分享(90)linux服务器iowait和负载很高
2023-09-14 09:00:07 时间
# 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 /
相关文章
- 常用lunix命令面试题_五个常见的linux命令
- Linux服务器:快速学习视频教程(linux服务器视频教程)
- 管理在Linux系统中管理进程的实践(linux下的进程)
- 建设Linux服务器,促进企业发展(公司搭建linux服务器)
- 构建你的BT服务器:让Linux帮你实现(bt服务器linux)
- 如何快速使用命令行关闭Linux网卡(linux关闭网卡命令行)
- 实用的 Linux 服务器工具:必备的管理技巧(linux服务器工具)
- 掌握Linux服务器时间设置技巧(linux服务器设置时间)
- Linux服务器路由配置:轻松把握网络安全(linux服务器路由配置)
- 服务器使用XFTP快捷连接Linux服务器(xftp连接linux)
- 深入Linux服务器:安装虚拟机助力IT运维(linux服务器装虚拟机)
- 服务器提高网络安全:构建Linux辅助DNS服务器(linux辅dns)
- Linux拥有最高权限:Root用户(linux最高权限用户)
- Linux串口TTY使用指南(linux串口tty)
- 保障Linux服务器安全:配置必不可少(linux服务器安全配置)
- 管理Linux服务器权限管理实践(linux服务权限)
- 关闭Linux服务器上的防火墙(关闭linux的防火墙)
- Linux系统的发展分支及其重要性(linux的分支)
- 无线连接在Linux系统中使用锐捷无线网络连接(linux下锐捷)
- Linux下查看服务器性能配置(linux下看服务器配置)
- Linux清空串口缓冲区:小技巧大作用(linux清空串口缓冲区)
- Linux 中文字符集探索之旅(linux中文字符集)
- Linux命令帮助指南(linux命令help)
- Linux下如何轻松进入BIOS设置界面(linux如何进入bios)
- 利用 Linux 打造高效项目开发环境(linux项目环境)
- 文件利用 Linux 重新给文件重新命名(linux 重新命名)
- Linux动态库编译技术:提升开发效率(linux 编译动态库)
- 搭建Linux服务器:配置Yum仓库(linux配置yum仓库)