【发布时间】:2010-09-19 03:46:53
【问题描述】:
我的理解是,在 unix 中,当内存被释放时,内存不会返回给操作系统,它会留在进程中以再次用于下一次调用 malloc。
在 windows 上,我知道内存实际上是返回给操作系统的。
这两种做事方式有什么大的区别,还是只是做同一件事的两种不同方式?如果这两种方法有什么优缺点,分别是什么?
编辑:感谢您的澄清。我一直认为这是操作系统的问题(因为在类 UNIX 系统中进程的大小似乎从未减小,但在 Windows 中却如此)。
【问题讨论】:
-
进程在 Windows 上减小的大小可能是另一回事:当窗口最小化时,Windows 会修剪驻留集的大小,而您可能正在任务管理器中查看该值。例如,Firefox 不得不禁用 Windows 的“功能”,这太慢了。
标签: windows language-agnostic unix memory-management