jvm调优
场景:java程序是运行在docker容器中,容器给的内存是4g。java程序的web容器是tomcat,tomcat的配置是
-Xmx:1024m
-Xms:1024m
现在遇到的问题是,我们在java程序中有内存监控程序,显示
maxMemory()值为3.5G
totalMemory()值为1.7G
我的理解:tomcat分配的-Xmx的值都只有1g,我们程序检测到可用内存都到了3.5g,且程序用了1.7g,运行还好好的。
求解:Runtime.getRuntime().maxMemory()这个获取的是docker容器可用内存?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
嗯嗯 确定了配置没有生效
看下日志,应该是没生效 给了1G,但是实际测试比1g多 那就是配置没生效。
确实是配置没生效,配置文件配置错了一个东西,导致这个文件没有生效
应该是配置没有生效, 你说的就是获取jvm最大内存
官方监控指的是jconsle系列哇
不知道你用的什么监控程序。建议用官方的监控好好查一下,肯定没那么多。
咋个知道有木有生效哇
回复
配置文件格式有不正确的地方,导致文件没有生效
是不是配置没生效