gpt4 book ai didi

java - 如何打印出 Java jvm 内存用于调试目的?

转载 作者:搜寻专家 更新时间:2023-10-30 21:25:06 24 4
gpt4 key购买 nike

我有一个大型 Java 应用程序,它有时会使用大量内存,我想每隔一段时间对其进行监控,以查看是否达到或接近堆或 permgen 限制。

如何使用 java 打印出最相关的 mem 使用信息?

最佳答案

下面是我们拥有的一段代码的片段,它定期记录我们应用程序的内存使用情况:

import java.lang.management.GarbageCollectorMXBean
import java.lang.management.ManagementFactory
import java.lang.management.MemoryPoolMXBean
import java.lang.management.MemoryUsage

log("Heap", ManagementFactory.getMemoryMXBean().getHeapMemoryUsage());
log("NonHeap", ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage());
List<MemoryPoolMXBean> beans = ManagementFactory.getMemoryPoolMXBeans();
for (MemoryPoolMXBean bean: beans) {
log(bean.getName(), bean.getUsage());
}

for (GarbageCollectorMXBean bean: ManagementFactory.getGarbageCollectorMXBeans()) {
log(bean.getName(), bean.getCollectionCount(), bean.getCollectionTime());
}

关于java - 如何打印出 Java jvm 内存用于调试目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9887713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com