借用汤师爷的一句话:“麻匪一定要缴———没有麻匪的日子才是好日子”。

作为程序员,bug一定是要处理的,没有bug的日子才是好日子!你想想,你正吃着火锅唱着歌,突然收到生产环境异常,急需处理的通知,这火锅还怎么吃,歌还怎么唱。

今天就来聊聊突然收到Java项目服务器CPU过高我们如何处理。

1 先查看服务器上的进程CPU使用情况

[root@pro ~]# top

2、使用ps 查看某个进程中的CPU占用情况:top -Hp <pid>

[root@pro ~]# top -Hp 14937

3、使用 jstack 获取线程快照并输出到某个文件中: jstack -l <pid> > ./<file>

其中pid,我们查到的是10进制数,需要转为16进制数: printf  "%x\n" <pid>

[root@pro ~]# printf "%x\n" 8375
20b7

由于16进制以0x开头,所以我们应该在转换的线程号前添加0x, 则最终pid 为 0x20b7,然后获取线程快照

[root@pro ~]#  jstack -l 0x20b7 > ./8375.txt

4、jstack 命令格式

jstack [ option ] pid 
jstack [ option ] executable core 
jstack [ option ] [server-id@]remote-hostname-or-IP

其中最常用的是: jstack [ option ] pid ,option 参数说明如下:

选项 作用
-F 当正常输出的请求不被响应时,强制输出线程堆栈
-m 如果调用到本地方法的话,可以显示C/C++的堆栈
-l 除堆栈外,显示关于锁的附加信息,在发生死锁时可以用jstack -l pid来观察锁持有情况

Java项目服务器cpu占用过高怎么办?相关推荐

  1. 高频面试题:服务器CPU占用过高怎么办?搞定只需简单7步

    一. 前言 在Java开发岗位的面试中,时不时会出现一些运维类的题目,其实这也反映了后端面试的一种趋势.现在企业对后端开发的要求越来越全面,不仅要求我们会写代码,还要我们能够进行部署和运维. 今天九哥 ...

  2. 线上服务器CPU占用过高?7步带你搞定

    一. 前言 在Java开发岗位的面试中,时不时会出现一些运维类的题目,其实这也反映了后端面试的一种趋势.现在企业对后端开发的要求越来越全面,不仅要求我们会写代码,还要我们能够进行部署和运维. 今天壹哥 ...

  3. Java 线上cpu占用过高分析

    转载于:https://blog.csdn.net/ch999999999999999999/article/details/113151519 感谢作者:ch999999999999999999 J ...

  4. 服务器CPU占用过高和哪些因素有关呢

    服务器CPU占用过高和哪些因素有关呢 硬件因素 以下分别从CPU温度,CPU超线程,硬件配置,硬件驱动和待机方面分析. 1.CPU温度过高 如果CPU风扇散热不好,会导致CPU温度太高,使CPU自动降 ...

  5. java 一次CPU占用过高问题的排查及解决,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  6. win10服务器cpu占用过高,完美解决:Win10资源管理器占用CPU过高

    Windows10资源管理器占用CPU过高该怎么办?因为Windows7系统结束了支持,所以现在很多朋友都升级更新了Windows10系统.在使用Win10系统的过程中,发现Windows资源管理器占 ...

  7. win10服务器cpu占用过高,Win10 CPU占用率100%怎么办 Win10 CPU占用率过高解决方法

    Win10 CPU占用率100%怎么办 ?Win10系统CPU占用率过高的问题比较常见,下面为大家带来 Win10 CPU占用率过高解决方法 ,一起来看看. 方法1: 导致CPU占用的另一个原因可能是 ...

  8. Linux中JAVA服务器CPU占用过高(分析解决方法)

    当发现生产环境CPU使用非常高,并且居高不下,导致服务器报警,需要快速定位,分析是什么地方占用CPU过高,推荐步骤如下: 1. 首先服务器查看占用cpu高的进程是哪一个,查出进程号 top 2.查询该 ...

  9. java cpu过高排查_涨薪秘籍:JAVA项目排查cpu负载过高

    背景 我负责的其中一个项目在空负载的情况下,CPU占用率依然保持着100%左右,线上.测试.开发的服务都一样:是什么导致的呢?在开发环境我查看了请求流量,这个流量可以忽略但CPU占用率一直在60%-1 ...

最新文章

  1. golang中int类型切片无需传指针
  2. netstat命令查看套接字信息
  3. php赋值 jq,使用js和jQuery如何实现指定赋值方法
  4. snort入侵检测系统下载Linux,入侵检测系统Snort 2.9.0.2 发布
  5. JavaScript(一)---- 概述
  6. python3获取用户输入_python3.4控制用户输入与输出
  7. STM32(三)-------流水灯(标准库函数)
  8. python祝福祖国代码_C语言-笔记一
  9. 什么是python构造方法_什么是Python?
  10. 线程等待与唤醒c语言,c – 在pthreads中唤醒单个线程而不是忙等待
  11. 斐讯K2路由器刷机_潘多拉PandoraBox固件
  12. 微机原理——8255A的编程
  13. 汇新云,产品经理看得见未来的地方!
  14. 腾讯面试算法题——编码
  15. Paddlenlp之UIE分类模型【以情感倾向分析新闻分类为例】含智能标注方案)
  16. Win8下安装配置Docker ToolBox并制作镜像配置Handoop集群
  17. Embedded Linux S3C2440 Profiling
  18. 5.frp对外提供简单的文件访问服务
  19. 食物与体质 营养食谱
  20. 晨哥真有料丨来看看你是哪款宝藏男孩!

热门文章

  1. 金蝶KIS软件操作小技巧
  2. c++实现经典游戏——贪吃蛇
  3. [ExtJS] 颜色选择器2.0
  4. 纵向手风琴html,CSS3制作垂直手风琴
  5. 09-01 面向对象编程
  6. CVPR2021——SurFree:一个快速的无代替模型的黑盒攻击
  7. 网络相关面试题及思考(HTTP类)
  8. Windows装逼操作
  9. gitlab项目自动同步到测试服务器
  10. 华为开始全面部署启用鸿蒙os系统,华为开始全面部署启用鸿蒙OS系统!