设为首页
收藏本站
开启辅助访问
全部
问与答
创意
技术
酷工作
生活
交易
资源
节点
飞墙
Follow
明白贴
影视
报酬
登录
注册
飞社-令人惊奇的创意工作者社区-
›
首页
›
程序员
›
请教 Java 程序如何观测真实的内存使用情况 ...
FSHEX=FIND+SHARE+EXPRESS
飞社-令人惊奇的创意工作者社区- 是一个关于发现分享表达的地方
现在登录
没有账号?
立即注册
推荐主题
›
杭州余杭某小公司:劳动合同到期前,公司 h
›
字节跳动将(田某)告上法庭,要求赔偿 800
›
🎁 去年这时候在 v 站战战兢兢发布了剪贴板
›
答应下周入职但是收到了更好的 offer,怎么
›
🎁 去年这时候在 f站战战兢兢发布了剪贴板
今日热议主题
医院里看到的患者招募能参加吗?
[远程 Web3] 量化交易员-数字货币 Crypto
剩余价值出奶昔机场 air 套餐或者 tkv 机场
出全新 iPhone 16 Pro Max 日版 256G 沙漠
在工作中是否要保持跟同事分享技术或案例的
[内推] 微软热招岗位:前端、IOS/Mac 开发
还有 6 年生命,却提前感觉所剩无几了
运行 100 万个异步并发任务需要多少内存
突然发现代码中 SQL 也不是那么丑陋
网易云偷偷删我本地下载的歌曲?
请教 Java 程序如何观测真实的内存使用情况
plko345
· 2024-9-22 12:25:03 · 119 次点击
生产如何观测 java 内存的真实使用情况, 比如其它的语言 go, C, python... 占用情况操作系统会真实反映出来, 但 java 的真实情况被一层虚拟机屏蔽了
比如有多个应用 `-xms 16g -xmx 16g`, 我要怎么知道哪些实际只需要 1g, 哪些需要更多呢, 尝试使用 jmx_exporter 内存趋势也看不出来什么, 有些看上去线性的涨到最高, 然后马上下降(可能是 GC?), 有些完全没规律.
有什么技巧可以简单有效的观测真实内存需要, 麻烦分享下
举报
·
119 次点击
登录
注册
站外分享
微信扫一扫
QQ分享
微博分享
豆瓣分享
复制链接
显示全部
|
最新评论
14 条回复
沙发
liprais
小成
2024-9-22 12:56:57
看 gclog 就行
板凳
momocraft
小成
2024-9-22 13:03:01
开 gc log 然后面多加水
地板
feimg99
小成
2024-9-22 15:31:28
jconsole or visualvm
Java 没落成这样子了吗?这俩内置工具都没人知道?
5#
cxshun
小成
2024-9-22 15:40:14
真实使用的内存如果可以连接就用楼上的 jconsole 或 visualvm ,如果不行,就直接 dump 出来看,dump 出来的时候会强制 GC 一致,后面就是真实占用的内存了。
但如果你只是想看整个应用使用的内存,直接看 Top 的 RES 就好了,当然,这里包含了堆外内存,你的意思是只看堆内内存就考虑用上面的方式。
metrics 的话 spring actuator 里面有包含 jvm.used 类似的,可以参考下
6#
Ayanokouji
小成
2024-9-22 15:40:18
实时预览工具 arthas
springboot 项目 spring-boot-starter-actuator
prometheus 有 jmx_exporter
唉,论监控或者运维生态,有几个语言能和 java 比的
7#
vituralfuture
小成
2024-9-22 17:38:19
python 也有虚拟机,也会占用更多内存但不使用,这点跟 java 是一样的
实际上额外占用内存是绝大部分内存管理系统的共同做法,哪怕你用 C 的 malloc ,也会出现实际占用内存大于需要的内存
内存管理系统要解决的问题就是快速分配内存的同时减少内存碎片,常见的实现方法中基本都有内存池的维护
8#
kandaakihito
小成
2024-9-22 18:16:18
准备一把十字螺丝刀,卸下底部所有螺丝即可取下 JVM 虚拟机的后盖,移开顶部的电池和排线就能看到内存了(逃
9#
cvbnt
小成
2024-9-22 18:25:47
最便捷的还是 arthas
10#
L0L
小成
2024-9-22 19:45:49
你的目的是干啥呢?需要更加精细的管控内存?从你的描述来看,你希望优化一下目前的应用的 jvm 参数,调整到最优的状态?
下一页 »
1
2
/ 2 页
下一页
返回顶部