1
为什么大多数IO操作都会占用大量CPU?
我有一个过程将二进制文件写入ext3文件系统。 我认为这在CPU上应该是一个非常简单的过程,但我看到45%的系统CPU利用率。它是一个40核的80线程服务器,并且有一个RAID 1 + 0 16磁盘阵列。 有100个线程同时执行IO。这是正常的,几乎有一半的系统CPU使用?有没有办法分析为什么它使用这么多的CPU? 用户CPU约为10-15%。 过程是这样的:我们从文件中读取一些数据,检查数据是否在db中,然后我们将数据写入文件。 Db在不同的机器上,日志记录也在不同的机器上。 我们检查文件是否已经存在,通常不存在,所以我们创建一个新文件并将一些数据写入其中。 这是我看到的 iostat -xkt 1 03/07/2014 01:06:28 PM avg-cpu: %user %nice %system %iowait %steal %idle 16.14 0.00 43.24 0.01 0.00 40.60 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sdc 0.00 0.00 0.00 0.00 0.00 0.00 …