如何限制特定可执行文件的 RAM 消耗?

如何限制特定可执行文件的 RAM 消耗?

Microsoft Edge 占用大量内存,我想减少内存占用。我不在乎它是否会让浏览速度变慢,我只想让内存均匀地分配给我打开的程序。

我想要限制的特定可执行文件是C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdgeCP.exe。这似乎是占用大部分 RAM 的子进程。它还会像 Chrome 一样同时多次打开

答案1

有可能。您需要创建一个看门狗进程监控规则来限制可执行文件的内存使用量。

  • 正如@wp78de 所说,设置太低的值可能会导致进程“挂起”或崩溃。

    要自动化这个过程,你可以使用ProcessLasso创建进程看门狗规则,定期修剪“虚拟内存”(进程使用的私有内存)。

  • 打开 ProcessLasso GUI,右键单击目标可执行文件并选择“为此进程设置看门狗规则”

    您可以根据进程之前使用的内存量选择一个合理的值。有些进程确实会泄漏内存,导致 RAM 浪费,因此通过修剪内存,您实际上是在优化 RAM 使用率。

答案2

这是一个复杂的问题,解决方法可能比疾病本身更麻烦。因为如果相关应用程序内存不足,它很可能会崩溃(甚至可能出现 BSOD)。

反正,引用Clint Huffman 回答了同样的问题:

答案是,它很大程度上取决于整体物理内存的使用情况,但它是可以限制的。

他解释了进程使用的物理内存量(称为工作集)的背景知识。最有趣的是以下内容

有一个名为 Windows 系统资源管理器的工具可以限制进程使用的工作集数量。此工具可通过 Windows Server 2008 R2 上的“添加功能”控制台安装(默认情况下不安装)。

此组件适用于 Windows Server 版本。但是,您也应该能够在较新的非服务器版本的 Windows 上安装它(请参阅 Clint 的最后一条评论)。但不能保证。您可以找到 WSRM这里

为了模拟内存限制,您可以使用具有有限 RAM 的虚拟机,但我想这不是您想要的。在客户端版本(和较新的服务器版本)中,WSRM 被性能监视器取代,而性能监视器没有内存限制功能(据我所知)。

如果你在使用某个应用时遇到内存问题,而该应用可以很容易地被更符合你的内存限制的替代应用所取代,那么你应该换一个。例如,当前文章 推荐Firefox 是占用内存最少的浏览器。

相关内容