记录一次线上服务器出现cpu占用过高,避免之后再次出现相关问题,这里记录一下

用代码模拟cpu 占用过高进行排查

新建一个web项目,这里以springboot为例子新建一个web项目

package com.wanjun.jvm;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@SpringBootApplication
@RestController
public class JvmApplication {public static void main(String[] args) {SpringApplication.run(JvmApplication.class, args);}//这里写个死循环 模拟 cpu 占用@RequestMapping("/cpu")public String testCpu() { System.out.println("request cpu");while (true) {}}
}

将项目部署到linux 服务器上

启动项目

访问

curl localhost:8080/cpu

排查

查看占用cpu高的进程

top

如下图:可看出PID为4060的java进程占用cpu最高,达到了99.5%

查看子进程情况:

top -p 4606 -H  

将 子进程id 转换成16进制

printf "%x \n" 4648

查询具体出现问题的代码位置

jstack 4606|grep 1228 -C 30

如下图:可看出是JvmApplication类的第19行出现问题

cpu使用率偏高如何排查相关推荐

  1. CPU使用率过高如何排查问题

    CPU使用率过高如何排查问题 1.输入top指令,找到比较高的CPU使用率所对应的PID编号 1.输入ps H -eo pid,tid,%cpu | grep 进程PID 查看进程下面哪些线程TID使 ...

  2. CPU使用率过高问题排查及Linux之top命令用法详解

    文章目录 问题 解决方案 top命令用法 top各输出参数含义 一.top前5行统计信息 二.进程信息 Top 1的用法 %CPU和us%的区别 问题 公司连续2天服务器告警CPU使用率过高问题,查看 ...

  3. Linux下CPU使用率过高的排查方法

    在 Linux 系统下,使用 top 命令查看 CPU 使用情况. %Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, ...

  4. java应用cpu使用率过高问题排查

    ---------------------------------------linux下如何定位代码问题------------------------------- 1.先通过top命令找到消耗c ...

  5. linux大io引起cpu使用率偏高,系统负载高, 但CPU使用率和IO都非常低

    ps aux USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND root         1  0.0  ...

  6. jbd2 CPU使用率偏高

    jbd2 英文名是这样的:Journaling Block Device 2. 它是跟着 ext4 格式来的,当然它也可以在其他磁盘格式下工作. 这个进程的工作原理是这样的:文件系统写入数据,要提交给 ...

  7. linux下java多线程_Linux系统下Java问题排查——cpu使用率过高或多线程锁问题

    原标题:Linux系统下Java问题排查--cpu使用率过高或多线程锁问题 一个系统.特别是多线程并发的后台系统,在某些特定场景下,可能触发系统中的bug:导致cpu一直居高不下.进程hang了或处理 ...

  8. linux服务器 cpu使用率过高,服务器CPU使用率过高排查与解决思路

    发现服务器的cpu使用率特别高 排查思路: -使用top或者mpstat查看cpu的使用情况 mpstat -P ALL 2 1 Linux 2.6.32-358.el6.x86_64 (linux- ...

  9. jstack排查cpu使用率过高

    jstack排查cpu使用率过高 步骤: 1.top命令找出最高占用的进程(command为java) 2.查看高负载进程下的高负载线程:top -Hp [PID] (或 ps -mp PID -o ...

  10. linux tomcat cpu占用高,排查tomcat服务器CPU使用率过高

    tomcat要运行依赖于JDK,tomcat服务器的CPU使用率过高,大多都是由于部署的web程序的问题. 一.征象形貌 在一次线上环境,前台接见页面的速率越来越慢,从浏览器F12中看到发出的请求都是 ...

最新文章

  1. sudo运行程序遇到的问题
  2. [转]I,P,B帧和PTS,DTS的关系
  3. Install OpenCV-Python in Ubuntu
  4. JAR清单类路径不仅适用于Java Application Launcher
  5. 【免费毕设】asp.net FTP客户端设计与开发 (源代码+lunwen)
  6. 双变量空间自相关_空间计量经济学的发展及其应用,经济模型总会需要
  7. Mysql 哈希索引
  8. 一个简单的conky
  9. RS232和RS485协议原理和应用
  10. ipa文件怎么安装到iPhone iPhone怎么安装ipa
  11. 保利威视根据vid查询视频信息
  12. 30天自制操作系统第10天harib07d
  13. C#判断用户是否使用微信浏览器,并据此来显示真实内容或二维码
  14. 文学-诗经,乌托邦,巨人传,作家,居士类
  15. 一文掌握项目甘特图的使用方法
  16. Tecohoo VD-182U 全高清视频会议摄像机
  17. FreeRTOS使用软件定时器
  18. 隆重推荐:唐·玄武门
  19. 控制电机及应用课程简单总结
  20. LeetCode 0870. 优势洗牌 - 【LetMeFly】趣解田忌赛马:能赢则赢,否则摆烂(贪心)

热门文章

  1. SiteMesh配置下载使用(简单介绍)
  2. serlvet配置xml和@WebServlet
  3. 课程设计第一次实验总结
  4. LCT动态树【史上最精简易懂的LCT讲解】
  5. dell 7447加装SSD
  6. [SimplePlayer] 6. 音频同步
  7. Easyui清除tree的选中
  8. 多线程等待/通知机制
  9. MacBook Pro 下安装 MySQL 5
  10. IsHitTestVisible=False 的功能