【发布时间】:2018-11-30 15:14:00
【问题描述】:
我正在使用 JProfiler 分析部署到 Jetty 服务器的 Java 应用程序。
右边是这个Java进程在Windows任务管理器上的总内存。
- 我看到 JProfiler 中的已提交内存周期性增加,尽管大多数时候,大部分内存是空闲的(绿色)。为什么提交的内存会这样增加?
- 在拍摄上图的时间点,JProfiler 中的 Committed Memory 显示为 3.17GB,但 Windows 任务管理器显示更高 - 4.2457 GB。这不是他们都表现出的相同记忆吗?造成这种差异的原因可能是什么?
【问题讨论】:
-
任务管理器对“堆内存”一无所知。它始终显示总内存、堆、堆栈、代码、非堆数据、缓冲区等。
-
JVM 需要内存用于许多其他目的,而不是纯粹的堆。
标签: java memory-leaks jvm profiling jprofiler