Python是否将内存返回到底层操作系统有很多因素,这可能就是您试图确定内存是否正在释放的方式。cpython有一个池化的分配器系统,该系统倾向于保留释放的内存,以便可以有效地重用它(但是从OS的角度来看,这些后续分配不会增加您的内存占用),这可能就是您所需要的。重新看到。
同样,在某些Unix平台上,进程不会在应用程序关闭(或发生其他一些重要事件)之前将释放的内存释放回OS。即使您处于释放整个池的情况(因此Python可能会决定将其释放()而不是将其保持为将来的对象打开状态),操作系统仍不会释放该内存以供其他进程使用(但可用于原始流程中的进一步重新分配)。通常,这对于减少内存碎片很有好处,并且没有太多的缺点,因为未使用的进程内存将被分页到磁盘。Windows确实 会将进程内存释放回操作系统,以供任何新分配使用(然后您可以在任务管理器中看到),因此在Windows上尝试 出现 此问题很可能 会出现 给你不同的结果
最后,如何管理释放的进程内存是操作系统的职责范围,并且使用了各种方案(有优点也有缺点),因此仅查看您选择的系统信息工具不一定就能告诉您全部真相。 。