【发布时间】:2012-03-26 16:13:07
【问题描述】:
我正在尝试提高我的网络应用程序的性能,因此我决定对其进行分析。
执行此操作时,我注意到在启动任务管理器时完成一个漫长的过程后,我看到 java.exe 占用了太多内存。
顺便说一句,我在进程完成后 2-3 小时后检查过它,并且 cpu 处于稳定状态。
我在分析器的 VM 元素视图中看到,已用内存为 5 GB,可用内存为 15 GB,在任务管理器中 java.exe 使用的总内存为 41国标。
这是什么空闲内存?
是不是像现在这么多内存会被 java 占用?
我注意到,随着进程开始并运行,使用的内存和可用内存都会增加,但完成后使用的内存会减少,但可用内存不会减少。
我想知道我的应用程序有什么问题还是正常?
【问题讨论】:
-
在写问题时,不要将非代码文本封装成代码样式。这很丑陋,不是强调重要部分的好方法。
-
没有冒犯,但我认为您应该首先检查 jvm 调整是如何完成的,以及在分析您的 java 应用程序时要查看的内容。
-
您是说您的最大堆大小为 64 GB,并且您的机器具有 96 或更多 GC?
-
@PeterLawrey 我不知道我的最大堆大小是多少。但我看到了我写的东西。使用的内存为 5 GB 和 15 GB 可用内存。该机器包含 100 GB RAM。
-
你确定它是 100 GB,因为这是一个不寻常的数字,除非你有虚拟机?
标签: java performance memory memory-management memory-leaks