一个有关 JVM 内存占用的小白问题

2020-01-15 16:21:35 +08:00
 lander
最近在客户现场实施某安全软件的管理服务器,底层用的是 Apache+Java+Tomcat。
服务器分配了 16GB 内存,装好之后运行了一段时间,最近收到告警说 JVM free memory 小于 30%(阈值是 30%):
JVM max memory: 8096MB
JVM total memory: 1072MB
JVM used memory: 890MB
JVM free memory: 182MB
JVM free memory 百分比:17%
JVM used memory 百分比:83%

比较疑惑的是为啥 JVM total memory 为啥是 1072 ?这个 JVM total memory 是指 JVM heap memory + non-heap memory 吗?
提前谢过
1279 次点击
所在节点    问与答
4 条回复
falsemask
2020-01-15 16:40:31 +08:00
从你数字来看 1072=890+182 吧。不知道你这个是怎么统计的,可以把 jvm 参数贴出来,或者 jmap -heap pid 看一下
Raymon111111
2020-01-15 16:50:58 +08:00
敲一下 jstat -gc <pid> 1000 看看输出
lander
2020-01-15 17:10:06 +08:00
@Raymon111111 @falsemask
是这个管理平台自带的一个功能自动检测的结果。
另外这是基于 Windows 的平台,我找了下好像只有 jconsole.bat ,没有两位所说的 jstat 和 jmap 工具。。而且 jconsole 默认禁用了远程管理,需要修改 management.properties 文件╮(╯▽╰)╭然后重启 tomcat,我找时间申请个变更再发给两位 jconsole 里的运行结果。
如果有更好的办法请再随时沟通。
falsemask
2020-01-15 17:55:36 +08:00
@lander jstat 和 jmap 都是 jdk 里面的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/638181

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX