感谢这个答案,我能够看到我的apache webserver的总读取+写入:
[root@barricade ~]# cat /proc/diskstats | grep sda 8 0 sda 653416 315344 72474412 17441745 4597621 15680121 156902978 282408636 0 80171663 299835582 8 1 sda1 595 245 4696 528 3 0 18 0 0 527 527 8 2 sda2 652661 315089 72468356 17440939 3932716 15680121 156902960 236353355 0 49417302 253779925
如果我正确地解释了这个数字 ,磁盘已经完成了653.416个读取,并且4.597.621写入了!!? 这个networking服务器基本上服务于HTML页面(PHP + MySQL)是不可能产生更多的写入比读取?
我误解了什么?
编辑:iostat似乎证实了这一点…仍然,我感到困惑…
[root@barricade ~]# iostat Linux 2.6.32-431.20.3.el6.x86_64 (barricade.zane.it) 08/08/2014 _x86_64_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 3,45 0,00 0,82 2,58 0,00 93,15 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 5,29 72,99 158,06 72474540 156951762 dm-0 13,36 7,07 104,99 7018170 104254024 dm-1 0,35 1,84 0,96 1828536 956040 dm-2 7,03 64,07 52,11 63621098 51741680
/ proc / diskstats的内容和“iostat”自身的输出都显示自计数器重置以来的累计统计数据(可能是从机器启动后)。
如果您的networking服务器主要提供HTML和简单的SQL服务,那很可能它主要是从内存caching中提取出来的,所以读取磁盘很less。 另一方面,所有被logging的东西(比如每个HTTP页面的访问,以及其他许多事情)都会产生写入磁盘的活动。
因此,如果您的系统在启动后执行了更多的写入活动,而不是读取活动,那么这样做并非不合理。