jvm 常用命令

jmap -dump:format=b,file=

将堆内存进行文件导出,但是jvm为了保留数据一致性,可能会卡顿,并且导出前会进行一次fullGC,

实验:6G的最大堆应用 导出30s左右

查看gc 日志

jstat -gc pid

查看堆存活对象

jmap -histo:live pid

使用:jmap -histo |less

可得到如下包含对象序号、某个对象示例数、当前对象所占内存的大小、当前对象的全限定名,如下

查看对象数最多的对象,并按降序排序输出:

执行:jmap -histo |grep alibaba|sort -k 2 -g -r|less

查看占用内存最多的最象,并按降序排序输出:

执行:jmap -histo |grep alibaba|sort -k 3 -g -r|less

相关推荐
const_qiu16 分钟前
第 2.5 章 2.5.8:质量关 —— 安全审查、UI/UX 审查与踩坑复盘
java·人工智能·安全·ui·ux
chde2Wang21 分钟前
hadoop部署错误-namenode address dfs.namenode.servicerpc-address not configured
java·大数据·hadoop
牛战士coding36 分钟前
Java 对象写入 Redis 后类型变了?Jackson 多态序列化问题复盘
java·开发语言·redis
小白的码BUG之路40 分钟前
Jenkins -- 配置jdk和maven
java·jenkins·maven
xiaoqiMikko42 分钟前
Redis 实战(基础篇):把一个老 RedisUtil 搬到 Spring Boot 4,一路踩出来的坑(真机实测)
java·spring boot·redis
yuniko-n1 小时前
【JUC】读写锁
java·开发语言
yuzhiboyouye1 小时前
后端怎么评估工作量
java
java资料站1 小时前
十五、Spring AI Alibaba · 高级 ·Graph
java·人工智能·spring
金銀銅鐵1 小时前
[Java] 用 GUI 展示 ArrayList 扩容的过程
java·后端·ai编程
磊 子1 小时前
什么是虚假唤醒(spurious wakeup)?从 POSIX 标准讲到 futex 内核
java·开发语言