每当我尝试同时调试颤振应用程序并在勇敢上搜索查询时,Parrot os 变得完全没有响应(但我可以移动鼠标光标但单击不会计数)。内存使用量直接增加到 100%,必须强制重启。我正在使用带有 SSD 和 8GB 内存的 Nvidia GeForce mx110 的联想笔记本电脑
1 回答
要解决此问题,我发现您需要将以下设置设置为总物理 RAM 的 5%-6% 左右,除以计算机中的内核数:
sysctl -w vm.min_free_kbytes=65536
请记住,这是按核心设置的,所以如果我有 2GB RAM 和两个核心,那么我计算出只有 1 GB 的 6%,并添加了一些额外的内容以确保安全。
这会迫使计算机尝试保持此数量的 RAM 空闲,这样做会限制缓存磁盘文件的能力。当然,它仍然会尝试缓存它们并立即将它们换出,因此您可能也应该限制您的交换:
sysctl -w vm.swappiness=5(100 = 尽可能频繁地交换,0 = 仅在完全必要时交换)
结果是 linux 不再随机决定在观看时将大约 1GB 的整个电影文件加载到内存中,并在这样做时杀死机器。
现在有足够的保留空间来避免内存不足,这显然是问题所在(因为不再像以前那样冻结了)。
经过一天的测试 - 锁定消失了,有时会有轻微的减速,因为缓存的东西更频繁,但如果我不必每隔几个小时重新启动计算机,我可以忍受。
这里的教训是 - 默认内存管理只是用例之一,并不总是最好的,即使有些人试图提出其他建议 - 家庭娱乐 ubuntu 的配置应该与服务器不同。
您可能希望通过将它们添加到您的 /etc/sysctl.conf 来使这些设置永久化,如下所示:vm.swappiness=5
vm.min_free_kbytes=65536