gpt4 book ai didi

java - 如何阅读GC详细信息

转载 作者:行者123 更新时间:2023-12-01 13:08:20 25 4
gpt4 key购买 nike

我有一个存储大量数据的java程序,一时兴起,我尝试使用以下VM参数运行它:-XX:+PrintGCDetails

在程序关闭时,它打印:

Heap
PSYoungGen total 238016K, used 100138K [0x00000000eaeb0000, 0x00000000fd460000, 0x0000000100000000)
eden space 224640K, 38% used [0x00000000eaeb0000,0x00000000f0378dc0,0x00000000f8a10000)
from space 13376K, 99% used [0x00000000fbd50000,0x00000000fca51a60,0x00000000fca60000)
to space 10240K, 0% used [0x00000000fca60000,0x00000000fca60000,0x00000000fd460000)
PSOldGen total 92608K, used 88569K [0x00000000c0c00000, 0x00000000c6670000, 0x00000000eaeb0000)
object space 92608K, 95% used [0x00000000c0c00000,0x00000000c627e660,0x00000000c6670000)
PSPermGen total 64256K, used 64244K [0x00000000bba00000, 0x00000000bf8c0000, 0x00000000c0c00000)
object space 64256K, 99% used [0x00000000bba00000,0x00000000bf8bd300,0x00000000bf8c0000)

我假设 99%(和 95%)的已使用部分表明我需要进行一些调整。我只是不确定什么。

最佳答案

前 99% 都很好:

from space 13376K, 99% used

这就是年轻代中GC的工作原理。在 Minor GC 上,对象从 Eden 到 Survivor 空间(从空间到空间),在 Major GC 上从 Survivor 空间到老年代。

而第二个:

object space 92608K, 95% used

是你应该担心的事情。根据你的日志,老年代大约有100MB的空间,这通常太小了,但取决于你执行的代码。

您应该更多地测量您的程序以获得准确的结果,但您似乎仍在创建一些长期存在的对象,这些对象堆积在老一代中。

关于java - 如何阅读GC详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096314/

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