![尽管有可用 RAM,PyCharm 仍会填满交换区,并在交换区填满时崩溃](https://linux22.com/image/1188966/%E5%B0%BD%E7%AE%A1%E6%9C%89%E5%8F%AF%E7%94%A8%20RAM%EF%BC%8CPyCharm%20%E4%BB%8D%E4%BC%9A%E5%A1%AB%E6%BB%A1%E4%BA%A4%E6%8D%A2%E5%8C%BA%EF%BC%8C%E5%B9%B6%E5%9C%A8%E4%BA%A4%E6%8D%A2%E5%8C%BA%E5%A1%AB%E6%BB%A1%E6%97%B6%E5%B4%A9%E6%BA%83.png)
当我有大约 11.8GB 的可用 RAM 和大约 2.8GB 的可用交换空间时,我正在运行 PyCharm。此程序需要超过 2.8GB 的空间才能运行。当我启动它时,它会慢慢填满交换空间,直到填满为止,然后它就会崩溃。
dmesg -T
除了不相关的“perf:中断花费的时间太长”之外,今天没有显示任何内容。
这使我相信,当程序请求内存时,它会从操作系统获取交换,而当它无法再从操作系统获取更多内存时,它就会崩溃。
最近,该程序驻留在 RAM 中,而不是交换区中。可能是我让该程序在后台运行了很长时间,但崩溃直到今天才开始。还值得注意的是,昨天,我开始读写大约 40GB 的 40,000 个文件,即使这种情况停止了,也可能对系统设置产生了一些残留影响。
到底是怎么回事?