- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要帮助了解我如何从 jmap
获得与 GC 相关的数字和 jstat
与我传递给 java 的设置有关。我在具有 16GB 内存的服务器上使用以下设置启动应用程序 (solr):
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -Xms12144m -Xmx12144m -XX:NewRatio=4 -XX:SurvivorRatio=8 -XX:+UseCompressedOops
jmap
的输出开始:
Concurrent Mark-Sweep GCHeap Configuration: MinHeapFreeRatio = 40 MaxHeapFreeRatio = 70 MaxHeapSize = 12733906944 (12144.0MB) NewSize = 2686976 (2.5625MB) MaxNewSize = 130809856 (124.75MB) OldSize = 5439488 (5.1875MB) NewRatio = 4 SurvivorRatio = 8 PermSize = 21757952 (20.75MB) MaxPermSize = 176160768 (168.0MB)
为什么是NewSize
, MaxNewSize
, OldSize
, 和 PermSize
都这么小,当MaxHeapSize
大吗?不应该NewSize + OldSize = heap size
?总堆大小不应该接近MaxHeapSize
吗? ?为什么是NewSize
OldSize
的一半当NewRatio
设置为 4?
其余jmap
输出如下。它与上面相匹配,并包含一个部分 concurrent mark-sweep generation
我也不知道如何解释。
此外,GC 日志表明“所需幸存者大小”为 6.2MB,这也很奇怪,据我了解 -XX:SurvivorRatio=8
应该使幸存者空间成为 NewSize
的 1/8 .
最后,我只看到ParNew
我的 GC 日志中的消息,据我所知是 Eden 的 GC。
Heap Usage:New Generation (Eden + 1 Survivor Space): capacity = 117768192 (112.3125MB) used = 20402232 (19.45708465576172MB) free = 97365960 (92.85541534423828MB) 17.324059793666528% usedEden Space: capacity = 104726528 (99.875MB) used = 16408336 (15.648208618164062MB) free = 88318192 (84.22679138183594MB) 15.667793359863893% usedFrom Space: capacity = 13041664 (12.4375MB) used = 3993896 (3.8088760375976562MB) free = 9047768 (8.628623962402344MB) 30.624128945508794% usedTo Space: capacity = 13041664 (12.4375MB) used = 0 (0.0MB) free = 13041664 (12.4375MB) 0.0% usedconcurrent mark-sweep generation: capacity = 12603097088 (12019.25MB) used = 7903352408 (7537.22420501709MB) free = 4699744680 (4482.02579498291MB) 62.70960505037411% usedPerm Generation: capacity = 45903872 (43.77734375MB) used = 27759192 (26.473228454589844MB) free = 18144680 (17.304115295410156MB) 60.472441191889% used
最佳答案
Why are NewSize, MaxNewSize, OldSize, and PermSize all so small, when the MaxHeapSize is large?
尺寸只是他们需要的那么大。如果你产生更多的短期垃圾,NewSize 会更大(我不知道 MaxNewSize 是如何设置的,但它通常比我设置的要小)
concurrent mark-sweep generation
capacity
= 最大尺寸,used
= used,free
= capacity - used。
ParNew messages in my GC log, which I understand is the GC for Eden.
正如您所指出的,新空间很小,所以它经常清理,而旧的空间很大,所以它很少清理。
关于java - 垃圾回收 : how is Eden space (and the other generation sizes) calculated?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11830346/
我系统上的docker info命令输出如下: # docker info Containers: 0 Images: 0 Storage Driver: devicemapper ..... D
我如何捕获用户按下 ctrl + space + space? 我用这段代码成功测试了ctrl + space: RegisterHotKey(0, 1, MOD_CONTROL, VK_SPACE)
我有一个 Matlab 图,我想在论文中使用。此图包含多个 cdfplots。现在的问题是我不能使用标记,因为在情节中变得非常密集。如果我想让样本稀疏,我必须从 cdfplot 中删除一些样本,这将导
我正在尝试获取我将用于备份的服务器上所有数据库的列表。以下是我尝试打印数据库列表但出现错误的代码片段。如何解决?添加双方括号并不能解决问题。 我已经研究了一些类似的问题,但我无法弄清楚。 grep:字
我了解 new gen/old gen/perm gen 之间的区别,但我不知道“To Space”和“From Space”是什么。我看到我的“From Space”使用率达到 99.8%,而“To
我当前有一个返回时看起来像这样的字符串: //This is the url string // the-great-debate---toilet-paper-over-or-under-the-r
我太亲密了。我正在尝试编写用于Notepad++的正则表达式表达式,以用空格替换破折号,而忽略已经用前置/后置空格代替的破折号。我知道我可以用“foobarfoo”搜索/替换“-”,然后搜索“-”替换
我的 ANTLR 代码如下: LPARENTHESIS : ('('); RPARENTHESIS : (')'); fragment CHARACTER : ('a'..'z'|'0'..'9'|)
在过去的 6 个小时里,我一直在尝试在我的 webgl 应用程序中实现点击,但我找不到任何关于这个主题的足够清晰的内容。 到目前为止,我想出的是伪代码: screenSpace = mousePosi
如何使用正则表达式来测试空格或制表符,但不测试换行符? 我尝试了 \s,但我发现它也测试换行符。 我使用C# (.NET) 和 WPF ,但这应该不重要。 最佳答案 使用字符类:[\t] 关于rege
我想解析以下内容: name:name 名称以字母开头和结尾,并且可以包含字母和空格的任意组合。它们也可以是空白的。我的规则是: identifier = alnum (space* alnum)*;
有什么办法可以让 Eden 空间按比例大于 Tenured 空间吗?有 NewRatio 但它以相反的方式工作(Tenured 比 Eden 大几倍)。 我知道有 -XX:NewSize= 和 -XX
我正在编写一个程序,让人们输入他们的信息(姓名,年龄......)。对于姓名输入,我不希望他们留空,只允许字母和空格,但不能以空格开头。合适的正则表达式是什么?我尝试使用: ^[a-zA-Z\\s]*
好的,我正在制作一个程序,它也可以制作垂直线、水平线和对角线!我对我的一个没有任何意义的输出感到困惑。 所以我的伪代码是这样的: //enter a char //enter a number
当我使用 scp 从服务器复制文件时, 我错误地使用了命令 scp xxx@xxxx:xx.zip . 当我完成后,我发现该文件的名称是 .我无法解压 这是目录列表。 http://pfil
我需要一个 bat 文件来获取 Windows 系统中 C:\驱动器的总空间和可用空间(以 GB(千兆字节)为单位),并创建一个包含详细信息的文本文件。 注意:我不想使用任何外部实用程序。 最佳答案
作为预处理我的数据的一部分。我希望能够替换空格后跟数字,同时保留空格后跟一个字符。例如: Input String: '8.1.7 Sep 2000 Dec 2004 Dec 2006 Indefin
我正在编写一个 XPath 表达式,但我修复了一个奇怪的错误,但是以下两个 XPath 表达式之间有什么区别? "//td[starts-with(normalize-space()),'Posted
在 C 中,当读取文本文件时,是否有可能接受一个未知大小的整数值(假设它适合 int),因为它在数字之前和数字之后都有一个空格。例如。 363 865我想分别存储 363 和 865,因为它们有自己的
在 sys/ptrace.h 中,我看到类似这样的内容: @define PT_READ_I 1 /* read world in child's I space*/ @define PT_READ
我是一名优秀的程序员,十分优秀!