有没有什么方法可以让进程休眠,使其不留在内存中?例如:如果我不想使用 Firefox,也不想关闭它的进程,而且我需要释放内存,那么我该如何真正休眠进程,以便释放 Firefox 保留的内存?
我需要适用于 Windows 和 Linux 的解决方案!
答案1
如果我不想使用 Firefox,也不想关闭它的进程,而且我需要释放内存,那么我该如何真正休眠该进程,以便释放 Firefox 保留的内存?
对于 Windows,有免费工艺冷冻机。
对于 Linux 和 Mac OS X,有加密PID,正如yeedl 的回答。
如果您想提出一个自定义解决方案:
process dumping
例如,在 Windows 上查看。进程转储,使用 CLI 调试器从数据库管理软件。
core dumping
例如,在 Linux 上查看。核,使用 CLI 调试器恢复它,例如GNU 数据库。
我敢打赌,不涉及调试器的基于软件的解决方案是可能的,但这只是针对堆栈溢出。
您正在寻找一个非常具体的用例,为什么不暂停并让它换出呢?
您将花费更多时间来运行和暂停您的进程......
我相信您可以通过其他更加无缝的方式优化您的工作流程。
答案2
Windows 和 Linux/Unix 都提供了一种暂停或停止进程执行的方法,即通过将进程从可运行进程列表中删除。
这不会直接影响进程拥有的内存页面,但随着时间的推移,当系统面临内存压力时,这些页面将成为交换到磁盘的良好候选。
尝试将进程写入磁盘以便稍后恢复对于任何重要的事情来说都是行不通的。进程恢复后,打开网络和窗口系统的句柄将立即失败。
答案3
答案4
在 Windows 上,有些程序可以换出“未使用的”程序内存。
可以做到这一点的产品的一个例子是商业进程套索。
然而,即使是 Process Lasso 也反对这种做法。
最好将虚拟内存的管理权交给 Windows,而不是自己动手。这些程序带来的任何好处都只是假象,而且是暂时的。即使清理后运行的程序加载速度似乎更快,你迟早还是会面临重新调入内存的惩罚。
关于 Firefox,请参阅 mozillaZine 的减少内存使用量 - Firefox,其中包含大量有关如何发现哪些扩展泄漏内存的建议。
还有 Firefox 扩展记忆狐哪个 :
尝试减少浏览器的 RAM 内存使用量,从而增加其他应用程序进程的 RAM 内存需求。希望能够促进内存恢复和保留的任何尝试。
根据我的经验,此扩展只能推迟 Firefox 不可避免的内存膨胀。唯一真正的解决方案是时不时关闭 Firefox 以释放内存。