这是我基于Linux2.6.32.12的系统:
1 它包含20个进程,占用了大量的usr cpu 2 它需要以100M / s的速率将数据写入磁盘,这些数据最近不会使用。
我的期望:
它可以稳定运行,磁盘 I/O 不会影响我的系统。
我的问题:
一开始,系统按照我的想法运行。但是随着时间的推移,Linux 会为磁盘 I/O 缓存大量数据,从而导致物理内存减少。最后,内存不足,Linux 会换入/换出我的进程。大量cpu时间用于I/O会导致I/O问题。
我尝试了什么:
我尝试通过“fsync”来解决问题,每次我写一个大块时。但是物理内存仍在减少,而缓存增加。
如何在这里停止页面缓存,对我来说没用
更多信息:
当 Top 显示空闲 46963m 时,一切正常,包括 cpu %wa 低且 vmstat 显示没有 si 左右。
当 Top 显示空闲 273m 时,%wa 太高了,这会影响我的进程,而 vmstat 显示很多 si 等等。