找出linux服务器IO占用高的程序
一台服务器比较性能无外乎内存、cpu使用率、IO使用率,把这3样优化好了,你服务器的负载就要小很多,当然网络情况不在我的考虑范围,毕竟网络这个情况是很不稳定,就算你服务器上把网络优化得再好,idc不给力也没用,除非是自己公司机房,好了,今天只说下怎么找IO占用高的程序.
系统:centos 5.5
1.开启IO监控
sysctl vm.block_dump=1或echo 1 >/proc/sys/vm/block_dump
2.开启后内核会将IO读写dump到日记,用dmesg查看:
dmesg
3.进程读写block到磁盘dm-0:
mysqld(7822): READ block 78196624 on dm-0
kjournald(529): WRITE block 211136 on dm-0
bash(8336): dirtied inode 7391146 (dmesg) on dm-0
4.统计当前占用IO最高的10个进程:
dmesg |awk -F: '{print $1}'|sort|uniq -c|sort -rn|head -n 10
清空dmesg信息
dmesg -c 打印后清除信息
解决方案
kjournald 这个太多的话可以调整下ext3 日志记录方式
/dev/xvd1 /wwwroot ext3 data=writeback 1 0
本文出自 蓝鹰博客,转载时请注明出处及相应链接。
本文永久链接: http://www.lanyingblog.com/blog/1820.html