1

每当我尝试同时调试颤振应用程序并在勇敢上搜索查询时,Parrot os 变得完全没有响应(但我可以移动鼠标光标但单击不会计数)。内存使用量直接增加到 100%,必须强制重启。我正在使用带有 SSD 和 8GB 内存的 Nvidia GeForce mx110 的联想笔记本电脑

4

1 回答 1

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

于 2021-06-21T11:47:11.203 回答