linux中Java项目占用cpu、内存过高时的排查经历
一、使用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原理:点击查看
linux中Java项目占用cpu、内存过高时的排查经历的更多相关文章
- Shell----监控CPU/内存/负载高时的进程
Shell----监控CPU/内存/负载高时的进程 1.编写脚本 vim cpu-warning.sh #!/bin/bash #监控系统cpu的情况脚本程序 #取当前空闲cpu百份比值(只取整数部分 ...
- java进程占用CPU资源过高分析脚本
#!/bin/bash #输入占用CPU较高的进程号 pid=$ if [ -z $pid ] then echo "PID is NULL" exit fi #找到该进程中占用较 ...
- Linux中java项目环境部署,简单记录一下
这里只是简单的记录一下linux环境下面如何快速的搭配好环境,使你的项目能在linux环境上面运行. 很多时候,我们都是用windows环境进行配置调试的,而真正很多服务器都是在linux服务器上面的 ...
- Java进程占用系统内存较高的排查方法
1.通过top 查看具体是哪个进程占用内存较多 Tasks: 65 total, 1 running, 64 sleeping, 0 stopped, 0 zombie %Cpu(s): 2.0 us ...
- 解决linux中Kipmi0进程对CPU使用率很高问题
kipmi is supposed to run with low priority. When you say it consumes 70-90% of the CPUs, is that con ...
- linux下分析java程序占用CPU、内存过高
一.CPU过高分析 1)使用TOP命令查看CPU.内存使用状态可以发现CPU占用主要分为两部分,一部分为系统内核空间占用CPU百分比,一部分为用户空间占用CPU百分比.其中CPU状态中标示id的为空闲 ...
- 性能测试分析过程(三)linux下查看最消耗CPU/内存的进程
linux下查看最消耗CPU 内存的进程 1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10 ...
- linux下查询进程占用的内存方法总结
linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种方 ...
- Linux中发布项目的一些命令笔记
记一下,Linux中发布项目的一些难记的命令: .安装jdk a.检测是否安装了jdk 运行java -version b.若有需要将其卸载 c.查看安装那些jdk rpm -qa | grep ja ...
随机推荐
- html语义化练习易牛课堂代码
html <body> <header> <!-- 导航 --> <nav> <a href=" ...
- mac下用命令行解压文件
在Mac上的归档工具不能够解压rar文件,这时可以使用终端中的unrar来解决问题. 步骤如下: 1.使用Homebrew安装unrar(有关Homebrew的安装和使用见Homebrew) $ br ...
- HDU 6301 Distinct Values
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6301 多校contest1 题目大意是有一个长度为N的数组,给出M个"事实",每个 ...
- eclipse中集成python开发环境
转载:https://www.cnblogs.com/mywood/p/7272487.html Eclipse简介 Eclipse是java开发最常用的IDE,功能强大,可以在MAC和Windos上 ...
- RFC
一.简介 二.常用 1)TLSv1.2 Protocol https://tools.ietf.org/html/rfc5246
- 找不到phpize
yum install php-devel 报错如下: 解决办法: yum install php71w-devel
- google protobuf VC下的使用笔记
1 使用protobuf 2.x 下载地址(3.x 在c++11 vs2017下报错) 源码 https://github.com/google/protobuf 或者直接下载 二进制文件 2 如果下 ...
- Springboot+Mybatis 显示sql语句
在application.properties里添加 logging.level.com.xxx.service=debug com.xxx.service为包路径,一般可以将service层全加上 ...
- [MACHINE LEARNING] Can we predict voting outcomes?
1. CART Tree library(rpart)library(rpart.plot)CTree = rpart(Party ~ . -USER_ID, data = train, method ...
- springboot 初始化 web 项目 启动报错。。。一直解决不了
1. 一个简单的SpringBoot项目,启动时报错信息: ERROR 18688 --- [cat-startStop-1] org.apache.catalina.core.ContainerBa ...