几天前,我注意到磁盘I / O等待和磁盘活动下降(这很棒)。然后我还注意到我的缓存已满(*)且碎片化。然后我刷新了缓存。此后,磁盘延迟和磁盘活动跃升到以前的水平(这很糟糕)。
IOtop显示[jbd2 / sda2-8]和[flush-8:00]始终位于磁盘使用率之上。这是具有大量可用内存(总共16 GB,其中约8 GB是缓冲区/缓存)的Dell R210,硬件RAID 1(H200)。
(*)缓存是PHP的APC操作码缓存,它减少了PHP脚本执行的磁盘访问。缓存已满并且分散,因为它包含来自开发实例的文件。当我注意到时,我将它们过滤掉了。
问题是:为什么磁盘I / O从理论上讲应该减少?以下是穆宁的一些图表。从2月6日到8日,缓存已满。
在我注释掉apc.mmap_file_mask后,按照@ cyberx86的说明进行更改
apc.mmap_file_mask=/tmp/apc.XXXXXX
),则可能会看到I / O升高。尝试设置apc.mmap_file_mask
为使用共享内存(例如/apc.shm.XXXXXX
)或/dev/zero
(共享的匿名映射内存)。