如何释放内存“完全休眠”进程?

Lan*_*nes 10 windows linux process

与此类似:如何在 Linux/Windows 下“休眠进程”?

是否有任何方法可以使进程不保留在内存中的方式休眠?例如:如果我不想使用Firefox,也不想关闭它的进程,而我需要空闲内存,那么我如何真正休眠进程以释放Firefox保留的内存?

我需要 Windows 和 Linux 的解决方案!

Phi*_*ilR 5

Windows 和 Linux/Unix 都提供了一种挂起或停止进程执行的方法,方法是将其从可运行进程列表中删除。

这不会直接影响进程拥有的内存页面,但随着时间的推移,随着系统面临内存压力,这些页面将成为交换到磁盘的良好候选者。

尝试将进程写出到磁盘以供以后恢复对于任何重要的事情都不起作用。一旦进程恢复,网络和窗口系统的打开句柄就会失败。


Tam*_*man 5

如果我不想使用Firefox,也不想关闭它的进程,而我需要空闲内存,那么我如何真正休眠进程以释放Firefox保留的内存?

对于 Windows,有Free Process Freezer

对于 Linux 和 Mac OS X,有CrypoPID,如yeedl's answer 中所述


如果您想提出自定义解决方案:

看看process dumping在Windows上,例如。ProcDump,使用来自WinDBG的 CLI 调试器恢复它。

core dumping在Linux上查看,例如。核心,使用像GNU GDB这样的 CLI 调试器恢复它。

我敢打赌,不涉及调试器的基于软件的解决方案是可能的,但这是针对Stack Overflow 的


您正在寻找一个非常具体的用例,为什么不挂起并让其换掉呢?

你会花更多的时间让你的进程运行和暂停......

我相信您可以通过另一种更加无缝的方式优化您的工作流程。