位置: 编程技术 - 正文
推荐整理分享CentOS系统中跟踪高IO等待详解(linux 追踪),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:linux 跟踪命令,跟踪命令 tracert,跟踪命令 tracert,centos 跟踪路由命令,linux跟踪系统调用,linux 跟踪命令,linux 跟踪命令,linux 跟踪命令,内容如对您有帮助,希望把文章链接给更多的朋友!
高IO等待问题的第一个征兆通常是系统平均负载。负载均衡的计算都是基于CPU利用率的,即使用或等待CPU的进程数目,当然,在Linux平台上,进程 几乎都处于不可中断的睡眠状态。负载均衡的基线可以解释为,在一个CPU核的机器上上,该CPU得到充分利用。因此,对于4核机器中,如果系统平均复杂为 4,表示该机器有足够的资源来处理它需要做的工作,当然只是勉强。在相同的4核系统,如果平均复杂是8,那么以为这将意味着服务器系统需要8个core才 能处理所要做的工作,但现在只有4个核,所以已经超载。
如果系统显示平均负载较高,但是CPU的系统(system)和用户(user)利用率较低,那么就需要观察IO 等待(即IO wait)。在linuc系统上,IO wait对系统负载有较大的影响,主要因为一个或多个核都可能被磁盘IO或网络
发现进程在等待IO完成是一回事,验证高IO wait的原因是另一回事。使用”iostat –x 1”能够显示正在使用的物理存储设备的IO情况:
[username@server~]$ iostat -x 1
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
cciss/c0d0 0. 5. 1. 2. . . . 0. . 4. 1.
cciss/c0d0p1 0. 0. 0. 0. 0. 0. 5. 0. 8. 5. 0.
cciss/c0d0p2 0. 0. 0. 0. 0. 0. . 0. 7. 3. 0.
cciss/c0d0p3 0. 5. 1. 2. . . . 0. . 4. 1.
由上可知,很明显,设备/dev/cciss/c0d0p3的等待时间很长。然而,我们并没有挂载找个设备,实际上,它是个LVM设备。如果您使用的是 LVM作为存储,那么,您应该发现iostat应该有那么一点混乱。LVM使用device mapper子系统将文件系统映射到物理设备,因此,iostat可能显示多个设备,比如/ dev/dm-0和/ dev/dm-1。而”df –h”的输出却不会显示device mapper路径,而是打印了LVM路径。最简单的方法是在iostat参数中添加选项”-N”。
[username@server~]$ iostat -xN 1
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
vg1-root 0. 0. 0. 3. 0. . 8. 0. . 1. 0.
vg1-home 0. 0. 0. 1. 0. . 8. 0. . 3. 0.
vg1-opt 0. 0. 0. 1. 0. . 8. 0. . 3. 0.
vg1-tmp 0. 0. 0. 0. 0. 0. 8. 0. . 4. 0.
vg1-usr 0. 0. 0. 1. 5. . 8. 0. . 3. 0.
vg1-var 0. 0. 0. 1. 9. 9. . 0. . 4. 0.
vg1-swaplv 0. 0. 0. 0. 0. 0. 8. 0. 3. 1. 0.
为简便起见,裁剪上面iostat命令的输出信息。列出的每个文件系统所显示出的IO等待都是不可接受的,观察第十栏标有“await”的数据。相比而 言,文件系统/usr的await时间要高一些。我们先来分析一下这个文件系统,使用命令” fuser -vm /opt ”查看哪些进程在访问这个文件系统,进程列表如下。
root@server:/root > fuser -vm /opt
USER PID ACCESS COMMAND
/opt: db2fenc1 ....m db2fmp
db2fenc1 ....m db2fmp
db2fenc1 ....m db2fmp
db2fenc1 ....m db2fmp
当前服务器上有个DB2进程正在访问/opt文件系统,为简便起见,列出四项。看来已经找到导致问题的原因,在服务器上,数据库配置为可使用速度更快的SAN访问,操作系统可以使用的是本地磁盘。可以打电话问问DBA(数据库管理员)怎么做才能这样配置。
最后一个组要的注意的是LVM和device mapper。 “Iostat –xN”命令的输出显示的是逻辑卷名,但它是可以通过命令”ls –lrt / dev /mapper”查到映射关系表。输出信息的第六列中的dm-是与iostat中的设备名相对应的。
有时候,在操作系统或应用层是没有什么可以做的,除了选择速度更快的磁盘,并没有其他的选择。幸运的是,快速磁盘访问,如SAN或SSD的价格正在逐步下降。
CentOS系统环境精简优化详解 第一步、删除不必要的自带软件包yumremoveDeployment_Guide-en-USfingercups-libscupsypbindyumremovebluez-libsdesktop-file-utilsppprp-pppoewireless-toolsirda-utilsyumremovesendmail*samba*tal
CentOS文件和目录权限实战详解 环境创建俩个用户user1和user2[root@localhost~]#useradduser1[root@localhost~]#useradduser2创建两个文件夹[root@localhost~]#mkdir-p/user1/user2打开另外一个终端切换到su-user1[roo
CentOS6.2版本用yum升级到CentOS6.6的方法 因为手上只有6.2版本的CentOS,安装好后觉着版本太低了,就通过命令行进行升级查看可用的更新#yumlistupdates更新升级到centos6.5#yumupdate不幸的是,我在这
标签: linux 追踪
本文链接地址:https://www.jiuchutong.com/biancheng/359106.html 转载请保留说明!友情链接: 武汉网站建设