实验环境:RHEL6 ,4GB内核,无交换分区,特定情况下只允许使用3GB的内存,1GB的内存被根文件系统占用,不可使用。实际的测试环境是大块写盘数据准备进行回写操作。回写数据的大小大概每秒200Mb/s、
理论分析:由于回写线程每隔5秒钟启动一次,并且由于Linux的核心思想是充分利用高速缓冲区,导致watch free -m查看当前的剩余内存是60MB,目前提出两点疑问:
- 高速缓冲区上的数据量是多少?经过统计发现大概是2GB
- 按照剩余空间是60MB来算,大概在2秒钟的情况下,将耗尽内存的剩余空间,如果内存不能即使的进行回写,置高速缓冲区上的数据无效。内核有可能因为申请不到内存,而中断服务功能。
时间: 2024-05-11 13:04:09