模拟CPU 40%左右

import java.util.concurrent.CountDownLatch;

public class Main extends Thread {
private CountDownLatch c; public Main(String name, CountDownLatch c) {
super(name);
this.c = c;
} @Override
public void run() {
for (int i = 0; i < 500000000; i++) {
System.out.print(i);
}
c.countDown();
} public static void main(String[] args) throws InterruptedException {
CountDownLatch c = new CountDownLatch(1);
Main thread1 = new Main("thread1", c);
thread1.start(); c.await();
}
}

后台运行jar包

java -jar maven_test.jar &

安装jstack

yum install java-1.8.0-openjdk-devel.x86_64 -y

找到占用CPU最高的进程是Java进程59635

top

找到占用CPU最高的线程59647

top -H -p 59635

输出线程PID 59647对应的16进制数是e8ff

printf "%x\n" 59647

jstack查看Java进程中线程信息,过滤e8ff相关的线程信息

jstack 59635 | grep e8ff -A 20

根据jstack的输出,主流程也是一个线程

参考资料
java 线上应用排查CPU过高(模拟场景)

高CPU Java应用分析的更多相关文章

  1. 通过 thread dump 分析找到高CPU耗用与内存溢出的Java代码

    http://heylinux.com/archives/1085.html通过 thread dump 分析找到高CPU耗用与内存溢出的Java代码 首先,要感谢我的好朋友 钊花 的经验分享. 相信 ...

  2. Java服务器内存过高&CPU过高问题排查

    一.内存过高 1.内存过高一般有两种情况:内存溢出和内存泄漏 (1)内存溢出:程序分配的内存超出物理机的内存大小,导致无法继续分配内存,出现OOM报错 (2)内存泄漏:不再使用的对象一直占据着内存不释 ...

  3. java高cpu占用和高内存占用问题排查 (转)

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

  4. 由Java正则表达式的灾难性回溯引发的高CPU异常:java.util.regex.Pattern$Loop.match

    问题与分析 某天领导report了一个问题:线上的CPU自从上一个版本迭代后就一直处于居高不下的状况,领导看着这段时间的曲线图判断是有两条线程在不停的死循环. 接到任务后去查看了AWS的CloudWa ...

  5. [项目机会]citrix 虚拟桌面对于java等高CPU占用率如何解决

    citrix 虚拟桌面对于java等高CPU占用率如何解决 问题1:java等客户端对于虚拟桌面cpu影响较大,但是有些用户的确需要使用java支持的程序,是否可以通过其他途径来解决? 问题2:对于其 ...

  6. windebug分析高cpu问题

    分析高CPU的关键是找到哪个线程是持续运行,占用CPU时间. 可以隔上两分钟连续抓两个dump文件,使用 !runaway 查看线程运行的时间 通过对比两个dump文件的线程时间,看看哪个线程运行的时 ...

  7. .netcore利用perf分析高cpu使用率

    目录 一 在宿主机运行perf 二 容器内安装perf 1,重新构建镜像 2,下载火焰图生成脚本 3,安装linux-perf 三 CPU占用分析 1,perf record捕获进程 2,生成火焰图 ...

  8. java应用定位高cpu占用几步操作

    1.top获取高cpu占用的pid,如266202.查看pid的线程情况, top -H -p 266203.把cpu高占用的线程号转为16进制,printf "%x" 26652 ...

  9. Java 性能分析工具 , 第 3 部分: Java Mission Control

    引言 本文为 Java 性能分析工具系列文章第三篇,这里将介绍如何使用 Java 任务控制器 Java Mission Control 深入分析 Java 应用程序的性能,为程序开发人员在使用 Jav ...

  10. Java 性能分析工具 , 第 2 部分:Java 内置监控工具

    引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工 ...

随机推荐

  1. ATC:一个能将主流开源框架模型转换为昇腾模型的神奇工具

    摘要:本文介绍了昇腾CANN提供的模型转换工具ATC,介绍了其功能.架构,并以具体样例介绍了该工具的基本使用方法以及常用设置. 本文分享自华为云社区<使用ATC工具将主流开源框架模型转换为昇腾模 ...

  2. LeetCode-2055 蜡烛之间的盘子 及库函数 lower_bound 和 upper_bound学习使用

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/plates-between-candles 题目描述 给你一个长桌子,桌子上盘子和蜡烛排成一列. ...

  3. 第十一周作业-N67044-张铭扬

    1. redis主从复制原理? 1 从节点1.2 2 127.0.0.1:6379> replicaof 10.0.0.157 6379 3 OK 4 127.0.0.1:6379> co ...

  4. WPF使用WindowChrome自定义标题栏

    第一步:基本实现 添加Window的Style定义,并设置WindowChrome.WindowChrome属性: 设置WindowChrome标题栏: CaptionHeight--主要用于拖动有效 ...

  5. Beautiful Soup库的安装

    安装:'以管理员身份运行'cmd 执行pip install beautifulsoup4 Beautiful Soup库的理解: 解析.遍历.维护标签树的功能库 那么何为标签树? 1 from bs ...

  6. ubuntu18 电脑重启后登录后无法进入桌面

    ubuntu18 电脑重启后登录后无法进入桌面 应该是ubuntu桌面管理器gdm3和nvidia驱动冲突导致的 解决办法: 首先卸载已有的nvidia驱动 注意:在下载完驱动后,此时电脑没有驱动文件 ...

  7. oracle通过计划任务备份表

    1.先手动创建表 create table user01_backup_20210204 select * from user01 commit; 2.清空表 truncate table user0 ...

  8. plugin的原理

    plugin插件的原理 扩展webpack, 加入自定义的构建行为 webpack内部的钩子 hooks tap: 可以注册同步钩子和异步钩子 tapAsync: 回调方式注册异步钩子 tapProm ...

  9. 关闭Mac的Microsoft AutoUpdate弹框提示

    macOS安装Microsoft Office for Mac之后,有时候会弹出Microsoft Auto Update微软应用自动更新工具.就像下面这样:(我不知道您会不会烦,我是烦了)如果您也和 ...

  10. OnlyOffice调用逻辑