我面临的问题是我的应用程序使用的内存只有100 my,之后减少了50 my,但是在Window Task Manager上,它显示了150 my,并且始终保持或增加而不是减少,我们如何减少任务管理器上的内存(私有工作集)?
发布于 2012-08-18 09:30:22
您在JConsole (或其他监视工具)中看到的是使用java内存的模式。
JVM的内存通常被划分在这些区域中(在监视工具中也可以看到)。
Max Heap大小的增加,它减少了可用的本机内存)。windows任务管理器没有显示这一点。它显示了应用程序使用的整个内存(堆+非堆+本机部分)。
还要注意的是,通常需要从操作系统中获得更多内存的进程,即使在实际应用程序“释放”内存时,这个内存也由它们保存。这些内存页已被映射为进程地址空间的一部分。因此,在任务管理器中,您不会看到内存减少的模式,但这并不表示您的应用程序存在内存泄漏。
因此,您不能减少从任务管理器中看到的内存,但是从监视工具中看到的内存在某个时候会减少,否则可能会导致内存泄漏。
https://stackoverflow.com/questions/12017437
复制相似问题