当前位置: 首页 > news >正文

Linux下cpu过高问题排查

原文地址:https://blog.csdn.net/chenjunan888/article/details/80447800

在服务器报cpu过高时,可使用以下命令,快速导出堆栈信息,以方便查看具体的问题。

 

 

1. 使用top命令定位异常进程。可以看见12836的CPU和内存占用率都非常高

此时可以再执行ps -ef | grep java,查看所有的java进程,在结果中找到进程号为12836的进程,即可查看是哪个应用占用的该进程。

2. 使用top -H -p 进程号查看异常线程

3. 使用printf "%x\n" 线程号将异常线程号转化为16进制

4. 使用jstack 进程号|grep 16进制异常线程号 -A90来定位异常代码的位置(最后的-A90是日志行数,也可以输出为文本文件或使用其他数字)。可以看到异常代码的位置。

注意事项:

如果提示 -bash: jstack: command not found,则可以找到jdk的目录,进入bin目录,

        在执行 ./jstack 进程号 | grep 16进制异常线程号 -A90 即可。

   
如果提示 well-known file is not secure,则是因为账号权限的问题。在/tmp/hsperfdata_$USER/目录,有一个以进程号命名的文件,当我们执行jmap或者jstack出现上叙信息时,先检查执行该命令的用户是否和hsperfdata_$USER这个文件所属的用户一致,如果不一致,切换至成一致再执行。执行:sudo -u 有权限的账号 ./jstack 进程号 | grep 16进制异常线程号 -A50 即可。

转载于:https://www.cnblogs.com/givemelove/p/10730782.html

相关文章:

  • 业务层设计
  • final Map可以修改内容,final 常量不能修改
  • npm安装包时 --save 和 --save-dev 的区别
  • 05-数据仓库之建模实例
  • 2018-2019 20165239 Exip MSF基础应用
  • Netty源码分析(五):EventLoop
  • 是时候放弃tensorflow集群投入horovod的怀抱
  • OO第二阶段作业总结
  • MUI 返回顶部
  • 知识点---js监听手机返回键,回到指定界面
  • 无论你是什么职业,这篇职场生存法则都是你必备的
  • 余莹是谁?
  • 37.C#--面对对象_类的基本使用
  • C++STL之vector用法总结
  • Angular-使用好NgForOf的trackBy带来性能上的提升
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Angular4 模板式表单用法以及验证
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Brief introduction of how to 'Call, Apply and Bind'
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Docker 笔记(2):Dockerfile
  • Fundebug计费标准解释:事件数是如何定义的?
  • JAVA并发编程--1.基础概念
  • js ES6 求数组的交集,并集,还有差集
  • JS字符串转数字方法总结
  • Logstash 参考指南(目录)
  • nodejs实现webservice问题总结
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • React+TypeScript入门
  • Redux系列x:源码分析
  • windows-nginx-https-本地配置
  • 爱情 北京女病人
  • 彻底搞懂浏览器Event-loop
  • 给新手的新浪微博 SDK 集成教程【一】
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 那些年我们用过的显示性能指标
  • 少走弯路,给Java 1~5 年程序员的建议
  • 实习面试笔记
  • 一道闭包题引发的思考
  • 2017年360最后一道编程题
  • Java数据解析之JSON
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • ()、[]、{}、(())、[[]]命令替换
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (C#)获取字符编码的类
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (C语言)fgets与fputs函数详解
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (附源码)计算机毕业设计大学生兼职系统
  • (汇总)os模块以及shutil模块对文件的操作
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424