gpt4 book ai didi

java - 从 jmap 获取永久空间

转载 作者:太空宇宙 更新时间:2023-11-04 06:11:58 24 4
gpt4 key购买 nike

我正在使用java版本“1.6.0_31”(我知道旧版本)。我正在使用 jmap -heap 来查看进程的 permgen 使用情况。但是,当我查看输出时,我看到这些行,它们似乎告诉我当前的 Permspace 使用量是 12MB

Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 209715200 (200.0MB)
NewSize = 1048576 (1.0MB)
MaxNewSize = 4294901760 (4095.9375MB)
OldSize = 4194304 (4.0MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 12582912 (12.0MB)
MaxPermSize = 67108864 (64.0MB)

然后在输出中我看到这些行,它们似乎告诉我我已经使用了大约 20MB 的永久使用量。我的问题是,为什么这两个数字彼此不同。哪个更相关? (我并没有用完 Permspace,我只是想了解输出)。

Perm Generation:
capacity = 20447232 (19.5MB)
used = 20246088 (19.30817413330078MB)
free = 201144 (0.19182586669921875MB)

最佳答案

正如你在这里看到的

  PermSize         = 12582912 (12.0MB)
MaxPermSize = 67108864 (64.0MB)

您的初始 PermGen 大小为 12MB,但最多可以增加到 64MB。因此,当您加载类时,PermGen 使用率将会上升,这就是它从 12MB 上升到 20MB 的原因,并且它将继续增加,直到达到最大容量,然后它将抛出臭名昭著的 java.lang.OutOfMemoryError: PermGen space。只需设置

-XX:PermSize=128m-XX:MaxPermSize=128m

设置相同值的原因是为了避免调整大小时发生完整GC

关于java - 从 jmap 获取永久空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28591553/

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