linux java -xms_linux中Java项目占用cpu、内存过高时的排查经历

一、使用top命令查看占用高资源的java项目的进程ID(pid): top

20190215205041908726.png

二、查看该进程中的线程所占用资源的情况:top -Hp pid

20190215205042001500.png

三、查看该线程对应的16进制:printf %x 11129

打印并保存该进程中堆栈的使用信息日志:jstack -l 11095 >> jstack.log

20190215205042124546.png

四、查看该进程中使用高资源的线程的具体信息日志:vim jstack.log

查找上一步的16进制的线程id:/2b79

20190215205042227085.png

定位到问题代码;

以上是测试所用(自己写的死循环)

实际排查时却并没有发现具体的自己所写的代码(是执行引用的包或java自带方法时出现的问题)

目前并不清楚,原因所在。。。。

五、linux中出现占用内存过高的情况时,也可以在tomcat的配置文件中进行内存大小的设置:

修改TOMCAT_HOME/bin/catalina.sh (改完需要重启服务)

位置cygwin=false前添加如下。

JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m"

注:-Xmx:java heap(JVM堆)最大值。上述最大值是512M

tomcat调优及JVM原理:点击查看

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值