在特定的Debian服务器上,iostat(和类似的)报告正在进行的磁盘写入的意外高容量(以字节为单位).我无法确定哪些进程正在执行这些写操作.
两个有趣的观点:
试图一次关闭一个系统服务无济于事.磁盘活动保持相当稳定且意外地高.
尽管写了,但似乎并没有消耗更多的磁盘空间.
这两个让我觉得写作可能是内核正在做的事情,但我没有交换,所以我不清楚Linux可能会尝试编写什么.
可以试试看:
http://www.atcomputing.nl/Tools/atop/
但是想避免修补我的内核.
有关如何追踪此问题的任何想法?
Mik*_*age 16
iotop很好(很棒,实际上).
如果您有2.6.20之前的内核,则无法使用大多数这些工具.
相反,您可以尝试以下(这几乎适用于任何2.6内核IIRC):
sudo -s
dmesg -c
/etc/init.d/klogd stop
echo 1 > /proc/sys/vm/block_dump
rm /tmp/disklog
watch "dmesg -c >> /tmp/disklog"
CTRL-C when you're done collecting data
echo 0 > /proc/sys/vm/block_dump
/etc/init.d/klogd start
exit (quit root shell)
cat /tmp/disklog | awk -F"[() \t]" '/(READ|WRITE|dirtied)/ {activity[$1]++} END {for (x in activity) print x, activity[x]}'| sort -nr -k2
dmesg -c行清除了内核日志.然后关闭记录器,手动(使用watch)转储到磁盘(内存缓冲区很小,这就是我们需要这样做的原因).让它运行大约五分钟左右,然后按CTRL-c监视进程.关闭日志记录并重新启动klogd后,最后使用awk的一点点分析结果.