关于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负载如何处理(阿里 几乎是必考题)...相关推荐

  1. mysql 上下文切换高_进程/线程上下文切换会用掉你多少CPU?

    进程是操作系统的伟大发明之一,对应用程序屏蔽了CPU调度.内存管理等硬件细节,而抽象出一个进程的概念,让应用程序专心于实现自己的业务逻辑既可,而且在有限的CPU上可以"同时"进行许 ...

  2. java飞行器服务端_使用jvisualvm和飞行记录器分析Java程序cpu占用率过高

    一.jvisualvm使用 JDK1.6中Oracle提供了一个新的JVM监控工具:jvisualvm.下面重点介绍如何在本地通过远程的方式打开Linux服务器上的jvisualvm. 1.Xmana ...

  3. tomcat 多人登录cpu占用过多_服务器被植入木马,CPU飙升200%

    作者:我叫刘半仙 https://my.oschina.net/liughDevelop/blog/1786631 线上服务器用的是某云的,欢快的完美运行着Tomcat,MySQL,MongoDB,A ...

  4. java tcp 字节数_服务器无法接收大小超过1500字节的TCP数据包

    有一台服务器无法接收大小超过1500字节的TCP数据包, 但是这个服务器CAN发送一个大于1500的TCP数据包 . 我还尝试在此服务器中捕获数据包以供WireShark进行分析 . 但是,WireS ...

  5. 怎么看服务器cpu温度命令_服务器cpu温度查看

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  6. mysql中 课程1比课程2成绩高_小菜菜mysql练习解读分析1——查询 01 课程比 02 课程成绩高的学生的信息及课程分数...

    查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 好的,第一道题,刚开始做,就栽了个跟头,爽歪歪,至于怎么栽跟头的 --需要分析题目,查询的是 ...

  7. java selector 源码_基于selector的源码分析和理解、思想和应用实践

    来自京东架构师(JAVA)欢迎关注我的微信公众号java2arch,更多技术文章可看. 一个连接请求connetion request过来,产生一个通道channel(包含并封装了connection ...

  8. 多核cpu应用场景_多核?高频?不同需求哪种CPU最适合自己呢?

    原标题:多核?高频?不同需求哪种CPU最适合自己呢? [PConline 杂谈]如今的办公场景中,混杂着各种各样的应用:文档处理,网页浏览,多媒体编辑.人们装机来办公,茶余饭后时间可能还想玩几局游戏放 ...

  9. mysql中 课程1比课程2成绩高_小菜菜mysql练习解读分析1——查询 01 课程比 02 课程成绩高的学生的信息及课程分数......

    查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 好的,第一道题,刚开始做,就栽了个跟头,爽歪歪,至于怎么栽跟头的 --需要分析题目,查询的是 ...

最新文章

  1. 把事务封装成类似Serializable用法的特性
  2. OS_CORE.C(5)
  3. C语言中, 有些时候数值名并不与指针等价.
  4. 高德地图-轨迹回放(二)
  5. Socket accept failed
  6. 腾讯技术峰会:从模型部署到算法应用,云计算时代下的人工智能
  7. python优先队列的库,python优先队列及二叉堆的实现
  8. MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限(转)
  9. 诸葛io的技术架构图_阿里P8总结三面四轮技术面试:Tomcat+Redis+线程池锁+悲观锁+NIO...
  10. 西威变频器avo下载调试资料_超能士变频器报输出缺相维修
  11. 小学数学四年级上册计算机教案,四年级信息技术人教版上册教案
  12. easyui简单登陆界面
  13. 网站为什么要备案?网站备案流程是什么?
  14. python sklearn库 rnn_scikit-learn 逻辑回归类库使用小结
  15. 哪位有没有reportbuilder的教程?共享一下。万分感谢!
  16. 一文看懂中国清算体系
  17. linux vi 看下一页,linux中的vi命令(2)
  18. python操作微信电脑版_PC端微信数据库解密Python版
  19. 微博“超话”幻灭之后 AI内容生产能重新定义追星规则?
  20. 已知四种原子的质量,C/H/O/N分别为12/1/16/14,输入分子式,计算分子量。例如H2O,分子量为1*2+16=18,有如HC11N2,分子量为1+12*11+14*2=161

热门文章

  1. linux下tmp目录属性,Linux:文件夹属性及umask
  2. 自定义分页 html,MVC 自定义HtmlHelper帮助类型之分页
  3. sox处理mp3_使用SoX将mp3文件拆分为TIME秒
  4. ggplot2箱式图两两比较_R绘图 第四篇:绘制箱图(ggplot2)
  5. java split空字符_java split函数结尾空字符串被丢弃的问题
  6. assoc_Ruby assoc()函数
  7. inputstream示例_Java InputStream available()方法与示例
  8. final的8个小细节,听说只有高手才知道!你知道几个?
  9. 为什么建议你使用枚举?
  10. 第二次作业python