我的 Solaris 10 websever/数据库服务器磁盘 io 有时会持续出现峰值。
使用iostat -xtc 5
读取/秒将从 3.0 跳升至 1450.0,而 %busy 将跳升至 98%
Apache 访问日志未显示任何异常。换句话说,请求量没有高于正常水平。
top
没有生成任何有用的东西。mysql 的 CPU 使用率还行,大约为 20%,其他的就没什么可说的了。
我应该使用什么监控工具来查看哪个进程使用了过多的磁盘 I/O?或者如果有任何其他建议,我很乐意听取。
谢谢
答案1
你需要使用跟踪. 尝试dtrace 工具包,它附带了很多脚本和操作方法文件。
Files Opened by process
$ dtrace -qn 'syscall::open*:entry{ printf("%s %s\n",execname,copyinstr(arg0)); }'
Read Bytes by process
$ dtrace -n 'sysinfo:::readch{ @[execname] = sum(arg0);}'
Write Bytes by process
$ dtrace -n 'sysinfo:::writech{ @[execname] = sum(arg0);}'