我的 Raspberry Pi2 上出现一个奇怪的错误。系统是archlinuxarm。
启动后不久(大约 30 秒),系统声明内存不足,导致关闭许多应用程序,大多数时候会导致内核崩溃(内存不足,但没有可杀死的进程)。奇怪的是,我部署了一个 18GB 的交换分区,但问题仍然存在(至少需要更多时间来填充它)。所以我在这30秒内使用free来监控。
free -mws 0.5
结果是大约使用了 70M,其余的越来越多地用于缓存,这是正常行为。然后,随着达到约 30 秒,自由输出速度减慢,就好像系统处于高负载一样。 Swap 被填满约 40M,其余保持不变。在这里,我期望在使用交换之前,第一个缓存正在减少。然后系统开始杀死进程,这样我就无法再监控内存了。在统计数据中,杀死它时可读的仍然表明交换几乎未使用。
因此,内核似乎没有按应有的方式释放缓存,也没有在内存不足时使用交换。
大家都知道这里发生了什么吗?
PS 内核恐慌后,输入了 kdb,但我无法执行任何操作,因为键盘无法工作。
dmesg/日志输出示例
的非常量输出图/proc/meminfo
: