项目中发现java cpu占用高达百分之四百,查看代码发现有一个线程在空转,拉高了cup

while(true){

}

解决方案,循环中加入延迟:Thread.sleep(Time);

总结下排查

CPU故障的方法和技巧有哪些:

1、 top命令: Linux命令。可以查看实时的 CPU使用情况。也可以查看最近一段时间的 CPU使用情况。

2、 PS命令: Linux命令。强大的进程状态监控命令。可以查看进程以及进程中线程的当前 CPU使用情况。属于当前状态的采样数据。

3、 jstack: Java提供的命令。可以查看某个进程的当前线程栈运行情况。根据这个命令的输出可以定位某个进程的所有线程的当前运行状态、运行代码,以及是否死锁等等。

4、 pstack: Linux命令。可以查看某个进程的当前线程栈运行情况。

高cpu占用

1、 top命令: Linux命令。可以查看实时的 CPU使用情况。也可以查看最近一段时间的 CPU使用情况。

2、 PS命令: Linux命令。强大的进程状态监控命令。可以查看进程以及进程中线程的当前 CPU使用情况。属于当前状态的采样数据。

ps - mp pid - o THREAD, tid, time

printf "%x\n" tid

3、 jstack: Java提供的命令。可以查看某个进程的当前线程栈运行情况。根据这个命令的输出可以定位某个进程的所有线程的当前运行状态、运行代码,以及是否死锁等等。

jstack pid | grep tid - A 30

1,使用 jps查找出 java进程的 pid,如 3707

2,使用 top - p 14292 - H观察该进程中所有线程的 CPU占用。

3,找出 CPU消耗较多的线程 id,如 15844,将 15844转换为 16进制 0x3de4,注意是小写

4,使用 jstack 14292 | grep - A 10 0x3de4来查询出具体的线程状态。

java cup_java高cup占用解决方案相关推荐

  1. wsl1升级到 wsl2 后高cpu占用解决方案

    wsl1升级到 wsl2 后高cpu占用解决方案 wget https://launchpadlibrarian.net/474302949/libc6_2.31-0ubuntu8+lp1871129 ...

  2. 生产环境下JAVA进程高CPU占用故障排查

    感谢原作者 http://blog.chinaunix.net/uid-10449864-id-3463151.html 问题描述: 生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常 ...

  3. java应用高内存占用

    在java虚拟机中,内存分为三个代:新生代(New), 老生代(Old).永久代(Perm) 新生代: 新建的对象都存放这里 老生代:存放从新生代中迁移过来的生命周期较久的对象.新生代和老生代共同组成 ...

  4. java系统高并发的解决方案

    一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很简单,随着互联网业务的不断丰富,网站 ...

  5. java内存问题怎么排查,java占内存高排查 java应用占用内存过高排查的解决方案...

    想了解java应用占用内存过高排查的解决方案的相关内容吗,zhaixing_0307在本文为您仔细讲解java占内存高排查的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java,占内存过 ...

  6. 线上Java 高CPU占用、高内存占用排查思路

    一.前言 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题.当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警.本文主要针对系统 ...

  7. java cpu 内存使用情况_java高cpu占用和高内存占用问题排查 (转)

    高cpu占用 1.top命令:Linux命令.可以查看实时的CPU使用情况.也可以查看最近一段时间的CPU使用情况. 2.PS命令:Linux命令.强大的进程状态监控命令.可以查看进程以及进程中线程的 ...

  8. java 高cpu占用问题解决

    这是一次真实的问题解决,献给同样被高cpu问题困扰的大家. 背景: 某天内部用户反馈,前端界面加载特别慢.测试了网络,日志,代码,感觉都正常,但是程序在使用查询sql的时候就是不返回. 1.进到lin ...

  9. Java线上应用故障排查之二:高内存占用

    前一篇介绍了线上应用故障排查之一:高CPU占用,这篇主要分析高内存占用故障的排查. 搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMemoryError: PermGe ...

最新文章

  1. 浮层java_通过遮罩层实现浮层DIV登录的js代码
  2. 在开课吧学python的经历-“你毕业2年,为什么写3年的工作经验?”“加班啊”...
  3. python爬虫实例-Python爬虫案例集合
  4. 抽象工厂模式-与-工厂方法模式区别
  5. Collection集合的三种初始化方法
  6. Express engine 学习笔记 - 工作在反向代理背后的 Express 设置
  7. php 通用购物车,PHP实现购物车代码[可重复使用]
  8. android viewpager fragment传值,Android开发中如何解决Fragment +Viewpager滑动页面重复加载的问题...
  9. 可靠消息最终一致性设计_如何最终启动您的设计产品组合
  10. java中null是常量吗_C_NULL Julia中的常量
  11. python的开发环境包括_下搭建 Python 开发环境
  12. Exynos4412 BSP平台搭建(详细图解)
  13. Java爬取酷狗音乐歌单
  14. 利用ESP8266与米思齐从零制作模拟温室大棚--硬件篇
  15. PHP实现免费代理池
  16. Java类和对象之对象引用之模拟手机功能
  17. 李彦宏:我不是传奇(网络转载)
  18. uboot-顶层Makefile注释
  19. 《求职》第四部分 - 操作系统篇 - 操作系统基础
  20. python爬取武汉二手房房价

热门文章

  1. 筑牢网络安全,联瑞电子为您的信息传输系“安全带”
  2. 修改element-ui-template 登录接口 api login
  3. ESLint-[转自 花裤衩 的掘金]
  4. 用于中文文本分类的中文停用词
  5. 远程登录Linux服务器
  6. 做设计用什么笔记本电脑好?
  7. 字符串反转(把一个字符串按相反的顺序输出)的三种简单方法
  8. PTA 习题5-2 使用函数求奇数和 (15分)
  9. robotframework关键字常用
  10. UnityGif动态图片的显示