清空压缩的内存


0

有什么方法可以清空应用程序使用的压缩内存而无需重新启动此应用程序?

诸如Memory Cleanerpurge命令之类的应用程序不起作用!

Answers:


1

不,没有办法。

如果您可以清空应用程序使用的压缩内存,则该应用程序将停止运行并崩溃。因此,清空正在运行的应用程序的压缩内存是没有意义的。


让我更好地解释。我使用24小时不间断的媒体服务器。通常使用的压缩内存为0,但是每次有人下载文件时,压缩内存中的MB就会增加一些无用。我知道这是程序中的一个缺陷,但是我需要它。除非我重新启动应用程序,否则压缩内存会一直扩展直到锁定mac。
Vilefort

然后,您必须修复应用程序中的错误或重新启动应用程序。没有有关应用程序的专业知识,您不能得出结论,应用程序将永远不会访问存储在压缩内存中的数据。如果您删除该内存,并且该应用尝试访问它,它将崩溃。
jksoegaard

如果确实是内存泄漏,并且以后再也不会访问该内存,则理论上您可以作为调试器附加到该进程,然后强制调用以释放泄漏的内存段。但是,只有在使用mmap分配内存时才可能这样做-或者,如果通过brk / sbrk分配内存,则仅当泄漏的内存在内存区域的末尾时才可能这样做。同样,这只有在具有有关应用程序的专门知识的情况下才可能实现,并且通常需要您自己成为一名程序员才能了解如何执行此操作。
jksoegaard

谢谢Jksoegaard,我将尝试您建议的方法!不幸的是,我不能更改该软件,因为它不属于我。当然,在使用它检查是否没有使用comp.memory之前,我肯定会进行几次测试,但是可能发生的最坏情况是软件挂起,如果不重新启动它,也会以相同的方式发生。因此,我认为尝试没有问题!再次感谢
Vilefort
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.