我正在创建一个NSIS脚本,其中可以在安装过程中设置要安装的Java应用程序的Xmx值.我不确定这个参数是否设置正确.有没有办法在应用程序运行时检查配置的Xmx值?
Dor*_*old 21
就我而言,jmap是我能找到的最佳解决方案:
jmap -heap <pid>
Run Code Online (Sandbox Code Playgroud)
以上命令显示完整堆配置+当前使用情况.
jmap命令包含在bin目录中的jdk中.
Nat*_*ate 12
便宜又脏(不确定可靠性):
Runtime.getRuntime().maxMemory();
Run Code Online (Sandbox Code Playgroud)
还成功使用了以下内容:
MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
memoryBean.getHeapMemoryUsage().getMax();
Run Code Online (Sandbox Code Playgroud)
rif*_*aff 12
jps 是一个很好的解决方案,只需运行
jps # shows pids
jps -v <pid> # shows params
Run Code Online (Sandbox Code Playgroud)
记得以启动进程的用户身份运行它,否则它将无法正常运行.
Doron Gold 给出了 Java 8 及以下版本的正确答案。对于 Java 9 及更高版本,您可以通过使用获得相同的信息
jhsdb jmap --heap --pid <pid>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18622 次 |
| 最近记录: |