我想找到运行在windows机器上的远程JVM (JDK 8)的非堆内存代码缓存详细信息。我可以使用j控制台获得详细信息。但是,我需要的是使用jstat命令获取值。GUI监控工具不符合我的目的。谢谢
发布于 2014-12-11 09:07:02
代码缓存会被解释器、编译的、运行时存根代码填满。
编解码器的关键用户是编译代码。您可以使用jstat获得编译后的代码统计数据。这将提供关于代码缓存使用的体面信息。
发布于 2019-10-25 14:09:05
使用jstat arg和java进程的pid,例如pid 616。
jstat -compiler 616
编译失败的无效时间FailedType FailedMethod
7979 5 0 121.28 1 weblogic/xml/babel/baseparser/BaseParser parseSomejstat -printcompilation 616
编译尺寸类型法
7979 331 1 weblogic/servlet/internal/CompleteMessageTimeoutTrigger timerExpiredjconsole内存选项卡并在下拉菜单中选择Cache显示当前的代码缓存大小
要获得JVM默认值(在windows或unix上的grep上找到):
查找“-XX:+PrintFlagsFinal”(CodeCache)
uintx CodeCacheExpansionSize = 65536 {pd product}
uintx CodeCacheMinimumFreeSpace = 512000 {product}
uintx InitialCodeCacheSize = 2555904 {pd product}
bool PrintCodeCache = false {product}
bool PrintCodeCacheOnCompilation = false {product}
uintx ReservedCodeCacheSize = 251658240 {pd product}
bool UseCodeCacheFlushing = true {product}https://stackoverflow.com/questions/27418068
复制相似问题