有没有办法在命令行上显示Java的sessionCacheSize的当前大小?

时间:2019-10-25 06:22:01

标签: java ssl jvm

我想分析我的Java虚拟机当前使用的ssl.sessionCacheSize的大小。可以通过javax.net.ssl.sessionCachSize JVM设置来设置此大小。是否有工具(如jmap)显示jvm当前正在使用的当前sessionCacheSize?

1 个答案:

答案 0 :(得分:2)

您可以通过使用 jmap 转储堆然后检查该转储中的 SSLSessionContextImpl 对象来查看您的 jvm 使用的 ssl 会话缓存大小。

转储堆

jmap -dump:format=b,file=dump.hprof $PID

使用 Eclipse 的 MAT 检查 SSLSessionContextImpl 对象

  • 打开 dump.hprof 文件
  • 打开直方图视图
  • 打开检查器视图:窗口 -> 显示视图 -> 其他 -> 检查器(在内存分析器视图下方)
  • 过滤sun.security.ssl.SSLSessionContextImpl
  • 右键单击 -> 列出对象 -> 带有传出引用
  • 选择您的对象实例之一,您应该能够看到在检查器的属性选项卡中使用的 cacheLimit