关于 Linux 下 JVM 故障分析
来源:互联网 发布:支付宝解除淘宝绑定 编辑:程序博客网 时间:2024/06/05 16:38
在过去的几年JAVA 开发中经常碰到各种问题;
特别是对于JVM内存异常,线程异常;刚开始经常出现不知道如何处理;
做下常见的问题分析:
一.出现CPU 100% 的情况:
有时候很坑爹的发现部署到线上的实例跑着跑着 cpu就飙到100%
首先开到服务器上:
1.命令:top 看下 最高的cpu的进程ID
2.命令: top -H -M -p 32708 查看进程内各线程的消耗记录下消耗最大的线程ID
第二步
jstack 32708
jstack [PID:进程id]
这样可以查到是你JVM中哪个线程导致的cpu飙升;
对应的去代码里面把那几行该死的问题解决掉;
二. 单出现内存溢出的情况下:
一般都是JVM的内存配置异常导致的内存溢出;当然还有就是你代码里面乱用;比如将类丢到静态的Map 最后将内存撑爆;
简单的情况下:
命令: jmap -heap 12758
描述: jmap -heap [进程id] 查看java进程当前JVM 堆内存的使用情况
命令:jinfo 18349
描述:jinfo [进程id] 查看java进程的jvm配置信息
拉到最底下可以看到 你配置的JVM的各堆的信息;一般调大一点就行;
调配原则 可以找度娘 查下很多;
配置方式:
tomcat 下配置内存
Linux:
tomcat / bin 目录下 catalina.sh 文件
vi catalina.sh
添加: JAVA_OPTS="-Xms10240m -Xmx10240m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m ”
Windows :
catalina.bat
rem ----- Execute The Requested Command ---------------------------------------
set JAVA_OPTS=-Xms128m -Xmx350m
0 0
- 关于 Linux 下 JVM 故障分析
- 关于IIS5下不支持ASP的故障处理分析
- linux故障分析
- linux故障分析
- Linux故障分析
- Linux故障分析
- linux故障分析
- linux 启动故障分析
- 分析Linux死机故障
- Linux下Web服务器网站故障分析常用的命令
- 关于Spymemcached故障转移分析
- linux故障分析、用户管理
- Linux故障分析、用户管理
- jvm分析 记录下
- Linux jvm 分析
- WINCE下ActiveSync连接故障分析
- WINCE下ActiveSync连接故障分析
- linux网站故障分析常用的命令
- makefile
- vsftpd中这些配置都是什么意思?
- Charles Petzold《Code》----2017.1.6 读10章(非常精彩!)
- html less使用demo
- error_reporting可以设置的参数,
- 关于 Linux 下 JVM 故障分析
- device tree 内 default pinctrl 和 probe的先后顺序
- 微信小程序初体验
- ElasticSearch学习28_Elastic中国开发者大会2016介绍
- pip 镜像
- c/c++ 使用boost库实现的一个简单判断字符串编码的方法
- Python练习实例14
- Git本地仓库
- SSH框架之Struts的Ognl表达式语言(2)、ValueStack对象(比较复杂,也比较重要)