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

 

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

  

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

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

  

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

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

  

  定位到问题代码;

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

实际排查时却并没有发现具体的自己所写的代码(是执行引用的包或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

  具体详解参考:https://elf8848.iteye.com/blog/378805

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

  tomcat工作原理

linux中Java项目占用cpu、内存过高时的排查经历的更多相关文章

  1. Shell----监控CPU/内存/负载高时的进程

    Shell----监控CPU/内存/负载高时的进程 1.编写脚本 vim cpu-warning.sh #!/bin/bash #监控系统cpu的情况脚本程序 #取当前空闲cpu百份比值(只取整数部分 ...

  2. java进程占用CPU资源过高分析脚本

    #!/bin/bash #输入占用CPU较高的进程号 pid=$ if [ -z $pid ] then echo "PID is NULL" exit fi #找到该进程中占用较 ...

  3. Linux中java项目环境部署,简单记录一下

    这里只是简单的记录一下linux环境下面如何快速的搭配好环境,使你的项目能在linux环境上面运行. 很多时候,我们都是用windows环境进行配置调试的,而真正很多服务器都是在linux服务器上面的 ...

  4. Java进程占用系统内存较高的排查方法

    1.通过top 查看具体是哪个进程占用内存较多 Tasks: 65 total, 1 running, 64 sleeping, 0 stopped, 0 zombie %Cpu(s): 2.0 us ...

  5. 解决linux中Kipmi0进程对CPU使用率很高问题

    kipmi is supposed to run with low priority. When you say it consumes 70-90% of the CPUs, is that con ...

  6. linux下分析java程序占用CPU、内存过高

    一.CPU过高分析 1)使用TOP命令查看CPU.内存使用状态可以发现CPU占用主要分为两部分,一部分为系统内核空间占用CPU百分比,一部分为用户空间占用CPU百分比.其中CPU状态中标示id的为空闲 ...

  7. 性能测试分析过程(三)linux下查看最消耗CPU/内存的进程

    linux下查看最消耗CPU  内存的进程 1.CPU占用最多的前10个进程:  ps auxw|head -1;ps auxw|sort -rn -k3|head -10  2.内存消耗最多的前10 ...

  8. linux下查询进程占用的内存方法总结

    linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种方 ...

  9. Linux中发布项目的一些命令笔记

    记一下,Linux中发布项目的一些难记的命令: .安装jdk a.检测是否安装了jdk 运行java -version b.若有需要将其卸载 c.查看安装那些jdk rpm -qa | grep ja ...

随机推荐

  1. html语义化练习易牛课堂代码

    html <body>     <header>         <!-- 导航 -->         <nav> <a href=" ...

  2. mac下用命令行解压文件

    在Mac上的归档工具不能够解压rar文件,这时可以使用终端中的unrar来解决问题. 步骤如下: 1.使用Homebrew安装unrar(有关Homebrew的安装和使用见Homebrew) $ br ...

  3. HDU 6301 Distinct Values

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6301 多校contest1 题目大意是有一个长度为N的数组,给出M个"事实",每个 ...

  4. eclipse中集成python开发环境

    转载:https://www.cnblogs.com/mywood/p/7272487.html Eclipse简介 Eclipse是java开发最常用的IDE,功能强大,可以在MAC和Windos上 ...

  5. RFC

    一.简介   二.常用 1)TLSv1.2 Protocol https://tools.ietf.org/html/rfc5246

  6. 找不到phpize

    yum install php-devel 报错如下: 解决办法: yum install php71w-devel

  7. google protobuf VC下的使用笔记

    1 使用protobuf 2.x 下载地址(3.x 在c++11 vs2017下报错) 源码 https://github.com/google/protobuf 或者直接下载 二进制文件 2 如果下 ...

  8. Springboot+Mybatis 显示sql语句

    在application.properties里添加 logging.level.com.xxx.service=debug com.xxx.service为包路径,一般可以将service层全加上 ...

  9. [MACHINE LEARNING] Can we predict voting outcomes?

    1. CART Tree library(rpart)library(rpart.plot)CTree = rpart(Party ~ . -USER_ID, data = train, method ...

  10. springboot 初始化 web 项目 启动报错。。。一直解决不了

    1. 一个简单的SpringBoot项目,启动时报错信息: ERROR 18688 --- [cat-startStop-1] org.apache.catalina.core.ContainerBa ...