java cpu io高_服务器负载过高问题分析-不是cpu高负载也不是IO负载如何处理(阿里 几乎是必考题)...
关于top命令 经常问load average 参考:load average 定义(网易面试)
问题现象:
1,top命令查询服务器负载达到2.0-5之间,tomcat的cpu使用率达到104%
load average:
linux系统中的Load对当前CPU工作量的度量。简单的说是进程队列的长度。
Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内平均 Load 。
问题分析过程:
1),磁盘使用率未超出正常范围
df -l
2),内存使用率未超出正常范围还有空闲
free
free -m 查看linux系统内存使用量和交换区使用量,如图所示。
3),服务器流量未现明显峰值
4)jvm内存状态未现异常非GC原因
至于具体的jstat jmap jstack 的使用情况
综合初步预估是tomcat有线程一直在运行占用cpu资源
问题引出:如何确定tomcat的100%的cpu使用率到底问题在哪?
问题定位方案:
使用java提供的是jstack线程分析命令对进程里面的线程状态进行分析,先导出线程快照再分析具体是那个线程及对应的类
执行步骤:
第一步:ps -ef|grep tomcat 查询出java/tomcat进程PID(eg:8209)
第二步:ps -aux 查询出该进程是哪个用户启动的(即使ROOT用户可能也导出线程快照失败)
第三步:su tomcat 切换到进程启动用户
第四步:jstack -l 8209 > /usr/local/work/tomcat/8209.stack 导出PID对应的线程信息到文件
第五步:对导出的线程文件下载本地做分析(可以文本打开)
第六步:top -H -p 8209 命令查看对应进程是哪个线程占用CPU过高(eg:8308)
第七步:printf "%x\n" 8308 转换十进制为十六进制 此处为:2074
第八步:在导出的堆栈文件中搜索线程ID等于nid=0x2074的线程,此处即列出了该线程对应的类
第九步:根据线程信息找到对应的类定位问题成功,找到原因:日志队列线程一直处于RUNNABLE状态,一直在while循环判定队列是否为空
java cpu io高_服务器负载过高问题分析-不是cpu高负载也不是IO负载如何处理(阿里 几乎是必考题)...相关推荐
- mysql 上下文切换高_进程/线程上下文切换会用掉你多少CPU?
进程是操作系统的伟大发明之一,对应用程序屏蔽了CPU调度.内存管理等硬件细节,而抽象出一个进程的概念,让应用程序专心于实现自己的业务逻辑既可,而且在有限的CPU上可以"同时"进行许 ...
- java飞行器服务端_使用jvisualvm和飞行记录器分析Java程序cpu占用率过高
一.jvisualvm使用 JDK1.6中Oracle提供了一个新的JVM监控工具:jvisualvm.下面重点介绍如何在本地通过远程的方式打开Linux服务器上的jvisualvm. 1.Xmana ...
- tomcat 多人登录cpu占用过多_服务器被植入木马,CPU飙升200%
作者:我叫刘半仙 https://my.oschina.net/liughDevelop/blog/1786631 线上服务器用的是某云的,欢快的完美运行着Tomcat,MySQL,MongoDB,A ...
- java tcp 字节数_服务器无法接收大小超过1500字节的TCP数据包
有一台服务器无法接收大小超过1500字节的TCP数据包, 但是这个服务器CAN发送一个大于1500的TCP数据包 . 我还尝试在此服务器中捕获数据包以供WireShark进行分析 . 但是,WireS ...
- 怎么看服务器cpu温度命令_服务器cpu温度查看
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- mysql中 课程1比课程2成绩高_小菜菜mysql练习解读分析1——查询 01 课程比 02 课程成绩高的学生的信息及课程分数...
查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 好的,第一道题,刚开始做,就栽了个跟头,爽歪歪,至于怎么栽跟头的 --需要分析题目,查询的是 ...
- java selector 源码_基于selector的源码分析和理解、思想和应用实践
来自京东架构师(JAVA)欢迎关注我的微信公众号java2arch,更多技术文章可看. 一个连接请求connetion request过来,产生一个通道channel(包含并封装了connection ...
- 多核cpu应用场景_多核?高频?不同需求哪种CPU最适合自己呢?
原标题:多核?高频?不同需求哪种CPU最适合自己呢? [PConline 杂谈]如今的办公场景中,混杂着各种各样的应用:文档处理,网页浏览,多媒体编辑.人们装机来办公,茶余饭后时间可能还想玩几局游戏放 ...
- mysql中 课程1比课程2成绩高_小菜菜mysql练习解读分析1——查询 01 课程比 02 课程成绩高的学生的信息及课程分数......
查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 好的,第一道题,刚开始做,就栽了个跟头,爽歪歪,至于怎么栽跟头的 --需要分析题目,查询的是 ...
最新文章
- 把事务封装成类似Serializable用法的特性
- OS_CORE.C(5)
- C语言中, 有些时候数值名并不与指针等价.
- 高德地图-轨迹回放(二)
- Socket accept failed
- 腾讯技术峰会:从模型部署到算法应用,云计算时代下的人工智能
- python优先队列的库,python优先队列及二叉堆的实现
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限(转)
- 诸葛io的技术架构图_阿里P8总结三面四轮技术面试:Tomcat+Redis+线程池锁+悲观锁+NIO...
- 西威变频器avo下载调试资料_超能士变频器报输出缺相维修
- 小学数学四年级上册计算机教案,四年级信息技术人教版上册教案
- easyui简单登陆界面
- 网站为什么要备案?网站备案流程是什么?
- python sklearn库 rnn_scikit-learn 逻辑回归类库使用小结
- 哪位有没有reportbuilder的教程?共享一下。万分感谢!
- 一文看懂中国清算体系
- linux vi 看下一页,linux中的vi命令(2)
- python操作微信电脑版_PC端微信数据库解密Python版
- 微博“超话”幻灭之后 AI内容生产能重新定义追星规则?
- 已知四种原子的质量,C/H/O/N分别为12/1/16/14,输入分子式,计算分子量。例如H2O,分子量为1*2+16=18,有如HC11N2,分子量为1+12*11+14*2=161
热门文章
- linux下tmp目录属性,Linux:文件夹属性及umask
- 自定义分页 html,MVC 自定义HtmlHelper帮助类型之分页
- sox处理mp3_使用SoX将mp3文件拆分为TIME秒
- ggplot2箱式图两两比较_R绘图 第四篇:绘制箱图(ggplot2)
- java split空字符_java split函数结尾空字符串被丢弃的问题
- assoc_Ruby assoc()函数
- inputstream示例_Java InputStream available()方法与示例
- final的8个小细节,听说只有高手才知道!你知道几个?
- 为什么建议你使用枚举?
- 第二次作业python