定位服务器线程占用内存高

linux下查询java项目中哪个线程方法占用内存高

第一步,使用 top 找到占用 CPU 最高的 Java 进程
第二步,用 top -Hp 命令查看占用 CPU 最高的线程
第三步,用printf “%x” 线程id转换成16进制
第四步,用jstack 线程高的ID > thread_stack.log 保存线程栈信息.
第五步,用转换的16进制在线程栈的信息里全局搜索,线程名称,线程状态,具体的哪一行代码都可以查到

附加:
JVM调优参数

-XX:MaxTenuringThreshold=15 进入老年代对象的年龄,默认15次

-XX:MaxMetaspaceSize 标志设置最大元空间大小,默认值为 unlimited,这意味着它只受系统内存的限制

-XX:+PrintTenuringDistribution来打印出当次 GC 后的年龄。

-Xmx200M 设置堆内存最大值
-Xms200M 设置堆内存最小值
-Xmn50M 设置新生代大小

-XX:+PrintGCDetails 打印GC详细信息

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值