<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[实践OK]linux下IO负载高因某颗CPU或者某几颗CPU进程导致的排查并定位解决办法之ps psr对应某颗CPU，iostat和iowait详细解说-查看磁盘IO瓶颈之定位到某个CPU上，或者从业务上发现服务器老旧出现的磁盘物理故障。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Mon, 11 Nov 2019 01:52:09 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	磁盘有问题：<br/>sudo badblocks -s -v -o sdbbadblocks.log /dev/sda&nbsp;&nbsp;#出现一堆的坏块编号<br/><br/>dmesg &#124;less -i&nbsp;&nbsp;&nbsp;&nbsp; #jbd2，当有硬盘坏道时，通常在dmesg输出的信息中会有 Buffer I/O Error，所以经常检查dmesg的输出可以及时发现是否存在硬盘问题。<br/>NFO: task jbd2/dm-3-8:526 blocked for more than 120 seconds.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Not tainted 2.6.32-431.el6.x86_64 #1<br/>&quot;echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs&quot; disables this message.<br/>jbd2/dm-3-8&nbsp;&nbsp; D 0000000000000002&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; 526&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 0x00000000<br/><br/><br/>查看第2个CPU上的程序定位到jbd2：<br/>&#124;grep -v &#039;&#92;[&#039; 去掉系统服务进程<br/><textarea name="code" class="php" rows="15" cols="100">
ps -eo &#039;pid,psr,cmd&#039;&#124;sort -nk 2&#124;awk &#039;&#123;if($2==2) print&#125;&#039;&#124;grep -v &#039;&#92;[&#039;
1086836&nbsp;&nbsp; 2 php-fpm: pool www
1086839&nbsp;&nbsp; 2 php-fpm: pool www
1086847&nbsp;&nbsp; 2 php-fpm: pool www
1086854&nbsp;&nbsp; 2 php-fpm: pool www
1086863&nbsp;&nbsp; 2 php-fpm: pool www
1774627&nbsp;&nbsp; 2 /usr/libexec/ibus-engine-simple
&nbsp;&nbsp; 1995&nbsp;&nbsp; 2 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
&nbsp;&nbsp; 2041&nbsp;&nbsp; 2 /bin/bash /usr/sbin/ksmtuned
 222374&nbsp;&nbsp; 2 svlogd -tt /var/log/gitlab/sshd
 222842&nbsp;&nbsp; 2 runsv redis-exporter
 222919&nbsp;&nbsp; 2 nginx: worker process
 223003&nbsp;&nbsp; 2 svlogd -tt /var/log/gitlab/alertmanager
&nbsp;&nbsp; 2623&nbsp;&nbsp; 2 /usr/bin/containerd
&nbsp;&nbsp; 2991&nbsp;&nbsp; 2 nginx: worker process
&nbsp;&nbsp; 4605&nbsp;&nbsp; 2 /usr/libexec/qemu-kvm -name guest=tmp-study-10-10-0-110,debug-threads=on
</textarea><br/>ps -eo &#039;pid,psr,cmd&#039; &#124;sort -nk 2&#124;awk &#039;&#123;if($2==2)print &#125;&#039;&#124;grep -v &#039;&#92;[&#039;<br/>ps -eo &#039;pid,psr,cmd&#039; &#124;sort -nk 2&#124;awk &#039;&#123;if($2==2)print &#125;&#039;&#124;grep&nbsp;&nbsp;&#039;&#92;[&#039;<br/><br/>ls -l /dev/dm-3 <br/>brw-rw---- 1 root disk 253, 3 Nov 11 14:59 /dev/dm-3<br/><br/>ps -LF -p 526&nbsp;&nbsp; #看它的主进程<br/>UID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PID&nbsp;&nbsp;PPID&nbsp;&nbsp; LWP&nbsp;&nbsp;C NLWP&nbsp;&nbsp;&nbsp;&nbsp;SZ&nbsp;&nbsp; RSS PSR STIME TTY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIME CMD<br/>root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 526&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp; 526&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; 2 Nov11 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 [jbd2/dm-3-8]<br/><br/>lsof -nPp 526<br/>COMMAND&nbsp;&nbsp; PID USER&nbsp;&nbsp; FD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE DEVICE SIZE/OFF NODE NAME<br/>jbd2/dm-3 526 root&nbsp;&nbsp;cwd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DIR&nbsp;&nbsp;253,3&nbsp;&nbsp;&nbsp;&nbsp; 4096&nbsp;&nbsp;&nbsp;&nbsp;2 /<br/>jbd2/dm-3 526 root&nbsp;&nbsp;rtd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DIR&nbsp;&nbsp;253,3&nbsp;&nbsp;&nbsp;&nbsp; 4096&nbsp;&nbsp;&nbsp;&nbsp;2 /<br/>jbd2/dm-3 526 root&nbsp;&nbsp;txt&nbsp;&nbsp; unknown&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/proc/526/exe<br/><br/><br/>dmraid -r&nbsp;&nbsp;#man dmraid<br/>/dev/sda: ddf1, &quot;.ddf1_disks&quot;, GROUP, ok, 285155328 sectors, data@ 0<br/>/dev/sdb: ddf1, &quot;.ddf1_disks&quot;, GROUP, ok, 285155328 sectors, data@ 0<br/><br/><br/>lsblk -f&nbsp;&nbsp; #RAID1：数据安全性高，即同样的数据在另一块盘上备份一份，硬盘的容量也就减少一半。<br/>NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FSTYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LABEL UUID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOUNTPOINT<br/>sdb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ddf_raid_member&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LSI&nbsp;&nbsp;&nbsp;&nbsp; &#92;x10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>└─ddf1_4c5349202020202010000055000000004711471100001450 (dm-0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;├─ddf1_4c5349202020202010000055000000004711471100001450p1 (dm-1) ext4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bef5de45-511b-41c2-b487-6cf98faf978a /boot<br/>&nbsp;&nbsp;├─ddf1_4c5349202020202010000055000000004711471100001450p2 (dm-2) swap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;861a3dbd-ca4b-4c97-b2b8-51504ee45949 [SWAP]<br/>&nbsp;&nbsp;└─ddf1_4c5349202020202010000055000000004711471100001450p3 (dm-3) ext4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;410be0c5-9b55-490e-b924-606d46182ea2 /<br/>sda&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ddf_raid_member&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LSI&nbsp;&nbsp;&nbsp;&nbsp; &#92;x10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>└─ddf1_4c5349202020202010000055000000004711471100001450 (dm-0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;├─ddf1_4c5349202020202010000055000000004711471100001450p1 (dm-1) ext4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bef5de45-511b-41c2-b487-6cf98faf978a /boot<br/>&nbsp;&nbsp;├─ddf1_4c5349202020202010000055000000004711471100001450p2 (dm-2) swap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;861a3dbd-ca4b-4c97-b2b8-51504ee45949 [SWAP]<br/>&nbsp;&nbsp;└─ddf1_4c5349202020202010000055000000004711471100001450p3 (dm-3) ext4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;410be0c5-9b55-490e-b924-606d46182ea2 /<br/><br/>dmraid -s<br/>*** Group superset .ddf1_disks<br/>--&gt; Active Subset<br/>name&nbsp;&nbsp; : ddf1_4c5349202020202010000055000000004711471100001450<br/>size&nbsp;&nbsp; : 285155328<br/>stride : 128<br/>type&nbsp;&nbsp; : mirror<br/>status : ok<br/>subsets: 0<br/>devs&nbsp;&nbsp; : 2<br/>spares : 0<br/><br/><br/>步骤一） top命令显示后 按1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cpu2&nbsp;&nbsp;:&nbsp;&nbsp;0.0%us,&nbsp;&nbsp;0.0%sy,&nbsp;&nbsp;0.0%ni,&nbsp;&nbsp;0.0%id,100.0%wa,&nbsp;&nbsp;0.0%hi,&nbsp;&nbsp;0.0%si,&nbsp;&nbsp;0.0%st<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wa -- iowait&nbsp;&nbsp;AmountoftimetheCPUhasbeenwaitingfor I/O to complete.<br/><br/>步骤二）iostat -x 2 5&nbsp;&nbsp;#定位各个磁盘读写哪个高一些,iostat 会每2秒更新一次，一共打印5次信息， -x 的选项是打印出扩展信息，实际使用得需要扩展信息-x得到svctm一项，反应了磁盘的负载情况，如果该项大于15ms，并且util%接近100%，那就说明，磁盘现在是整个系统性能的瓶颈了。<br/>svctm:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)<br/>%util:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一秒中有百分之多少的时间用于 I/O 操作，或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)<br/>　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果 %util 接近 100%，说明产生的I/O请求太多，I/O系统已经满负荷，该磁盘可能存在瓶颈。<br/>avgqu-sz:&nbsp;&nbsp;&nbsp;&nbsp; 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。<br/><br/>浅显易懂的解释：<br/>平均服务时间(svctm)类似于收银员的收款速度<br/>平均等待时间(await)类似于平均每人的等待时间<br/>I/O 操作率 (%util)类似于收款台前有人排队的时间比例。<br/><br/><br/>实践发现dm-0 / dm-3 卡住了，产生的I/O请求太多，I/O系统已经满负荷，该磁盘可能存在瓶颈，也可能是坏了，<br/>第一个iostat 报告会打印出系统最后一次启动后的统计信息，这也就是说，在多数情况下，第一个打印出来的信息应该被忽略，剩下的报告，都是基于上一次间隔的时间。举例子来说，这个命令会打印5次，第二次的报告是从第一次报告出来一个后的统计信息，第三次是基于第二次 ，依次类推：<br/>iostat -x 2 5&nbsp;&nbsp;# %util 出现100，设备是挂载的dm-0<br/>Device:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rrqm/s&nbsp;&nbsp; wrqm/s&nbsp;&nbsp;&nbsp;&nbsp; r/s&nbsp;&nbsp;&nbsp;&nbsp; w/s&nbsp;&nbsp; rsec/s&nbsp;&nbsp; wsec/s avgrq-sz avgqu-sz&nbsp;&nbsp; await&nbsp;&nbsp;svctm&nbsp;&nbsp;%util<br/>dm-0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.00&nbsp;&nbsp;&nbsp;&nbsp; 0.00&nbsp;&nbsp;&nbsp;&nbsp;0.00&nbsp;&nbsp;&nbsp;&nbsp;0.00&nbsp;&nbsp;&nbsp;&nbsp; 0.00&nbsp;&nbsp;&nbsp;&nbsp; 0.00&nbsp;&nbsp;&nbsp;&nbsp; 0.00&nbsp;&nbsp;&nbsp;&nbsp; 2.00&nbsp;&nbsp;&nbsp;&nbsp;0.00&nbsp;&nbsp; 0.00 100.00<br/><br/><textarea name="code" class="php" rows="15" cols="100">
iostat -d&nbsp;&nbsp;#
Device:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tps&nbsp;&nbsp; Blk_read/s&nbsp;&nbsp; Blk_wrtn/s&nbsp;&nbsp; Blk_read&nbsp;&nbsp; Blk_wrtn
sdb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.49&nbsp;&nbsp;&nbsp;&nbsp; 246296&nbsp;&nbsp;&nbsp;&nbsp;2567784
sda&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.47&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.49&nbsp;&nbsp;&nbsp;&nbsp; 813594&nbsp;&nbsp;&nbsp;&nbsp;2567784
dm-0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.49&nbsp;&nbsp;&nbsp;&nbsp; 567298&nbsp;&nbsp;&nbsp;&nbsp;2567784
dm-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;25040&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;136
dm-2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4744&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0
dm-3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.31&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.49&nbsp;&nbsp;&nbsp;&nbsp; 536578&nbsp;&nbsp;&nbsp;&nbsp;2567648

</textarea><br/>#dm-0的%utilized 是100.00%，这个很好的说明了有进程正在写入到dm-0磁盘中。<br/>dm是device mapper（设备映射）的意思：<br/>dm-0是个块设备，就是个分区，他被挂载在不同的目录，但是不同目录里的文件却不一样。<br/><br/><br/>svctm 一般要小于 await (因为同时等待的请求的等待时间被重复计算了)，如果 svctm 比较接近 await，说明 I/O 几乎没有等待时间；如果 await 远大于 svctm，说明 I/O 队列太长，应用得到的响应时间变慢，如果响应时间超过了用户可以容许的范围，这时可以考虑更换更快的磁盘......。<br/><br/><br/><br/>步骤三）查找引起高I/O wait 对应的进程 ，iotop&nbsp;&nbsp;&nbsp;&nbsp;#查找I/O wait 对应的进程<br/><br/><br/>步骤四）查找哪个文件引起的I/Owait：<br/> lsof 命令可以展示一个进程打开的所有文件，或者打开一个文件的所有进程。从这个列表中，我们可以找到具体是什么文件被写入，根据文件的大小和/proc中io文件的具体数据<br/><br/>我们可以使用-p &lt;pid&gt;的方式来减少输出，pid是具体的进程 <br/>lsof -p 1028<br/><br/>步骤四）更深入的确认这些文件被频繁的读写，我们可以通过如下命令来查看 <br/><br/>[root@localhost ~]# df /tmp<br/>文件系统&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1K-块&nbsp;&nbsp;&nbsp;&nbsp;已用&nbsp;&nbsp;&nbsp;&nbsp; 可用 已用% 挂载点<br/>/dev/mapper/cl-root 17811456 3981928 13829528&nbsp;&nbsp; 23% /<br/>　　从上面的命令结果来看，我们可以确定/tmp 是我们环境的逻辑磁盘的根目录<br/><br/>复制代码<br/>复制代码<br/>[root@localhost ~]# pvdisplay<br/>&nbsp;&nbsp;--- Physical volume ---<br/>&nbsp;&nbsp;PV Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/sda2<br/>&nbsp;&nbsp;VG Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cl<br/>&nbsp;&nbsp;PV Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19.00 GiB / not usable 3.00 MiB<br/>&nbsp;&nbsp;Allocatable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yes (but full)<br/>&nbsp;&nbsp;PE Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.00 MiB<br/>&nbsp;&nbsp;Total PE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4863<br/>&nbsp;&nbsp;Free PE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br/>&nbsp;&nbsp;Allocated PE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4863<br/>&nbsp;&nbsp;PV UUID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4QfaOy-DNSO-niK1-ayn2-K6AY-WZMy-9Nd2It<br/>复制代码<br/>复制代码<br/>　　过pvdisplay我们能看到/dev/sda2其实就是我们用来创建逻辑磁盘的具体磁盘。通过以上的信息我们可以放心的说lsof的结果就是我们要查找的文件<br/><br/>cat /proc/18987/io <br/>rchar: 58891582418<br/>wchar: 58891579778<br/>syscr: 46556085<br/>syscw: 46556077<br/>read_bytes: 212992<br/>write_bytes: 59580235776<br/>cancelled_write_bytes: 0<br/><br/>同时可以结合vmstat 查看查看b参数(等待资源的进程数),b有一个等待：<br/>vmstat <br/>procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----<br/> r&nbsp;&nbsp;b&nbsp;&nbsp; swpd&nbsp;&nbsp; free&nbsp;&nbsp; buff&nbsp;&nbsp;cache&nbsp;&nbsp; si&nbsp;&nbsp; so&nbsp;&nbsp;&nbsp;&nbsp;bi&nbsp;&nbsp;&nbsp;&nbsp;bo&nbsp;&nbsp; in&nbsp;&nbsp; cs us sy id wa st<br/> 0&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 11119256 238876 205460&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;0&nbsp;&nbsp;0 99&nbsp;&nbsp;1&nbsp;&nbsp;0<br/><br/><br/>来自：https://www.cnblogs.com/happy-king/p/9234122.html
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]linux下IO负载高因某颗CPU或者某几颗CPU进程导致的排查并定位解决办法之ps psr对应某颗CPU，iostat和iowait详细解说-查看磁盘IO瓶颈之定位到某个CPU上，或者从业务上发现服务器老旧出现的磁盘物理故障。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>