Kevin's blog Kevin's blog
首页
  • AI基础
  • RAG技术
  • 提示词工程
  • Wireshark抓包
  • 常见问题
  • 数据库
  • 代码技巧
  • 浏览器
  • 手册教程
  • 技术应用
  • 流程规范
  • github技巧
  • git笔记
  • vpn笔记
  • 知识概念
  • 学习笔记
  • 环境搭建
  • linux&运维
  • 微服务
  • 经验技巧
  • 实用手册
  • arthas常用
  • spring应用
  • javaAgent技术
  • 网站
友情链接
  • 分类
  • 标签
  • 归档

Kevin

你可以迷茫,但不可以虚度
首页
  • AI基础
  • RAG技术
  • 提示词工程
  • Wireshark抓包
  • 常见问题
  • 数据库
  • 代码技巧
  • 浏览器
  • 手册教程
  • 技术应用
  • 流程规范
  • github技巧
  • git笔记
  • vpn笔记
  • 知识概念
  • 学习笔记
  • 环境搭建
  • linux&运维
  • 微服务
  • 经验技巧
  • 实用手册
  • arthas常用
  • spring应用
  • javaAgent技术
  • 网站
友情链接
  • 分类
  • 标签
  • 归档
  • 基础

    • 理论概念
    • ThreadLocal
    • volatile关键字
    • hashMap
    • 并发加锁
    • 多线程
    • 设计模式
    • 常见基础问题
    • 常见系统问题
      • Linux服务器(Java应用)CPU100%,不借助可视化工具怎么定位问题?
      • 基础方式
      • arthas
        • thread -n 3, 最忙的前 N 个线程并打印堆栈
        • thread --all, 显示所有匹配的线程
        • thread id, 显示指定线程的运行堆栈
        • thread -b, 找出当前阻塞其他线程的线程
        • thread -i, 指定采样时间间隔
        • thread --state ,查看指定状态的线程
  • JVM

  • Spring

  • Redis

  • 消息中间件

  • 持久化

  • 算法

  • 网络

  • 系统架构

  • 知识整理
  • 基础
luoxiaofeng
2022-05-06
目录

常见系统问题

# Linux服务器(Java应用)CPU100%,不借助可视化工具怎么定位问题?

# 基础方式

1.top 找出进程 CPU 比较高 PID

2.top -Hp PID 打印 该 PID 进程下哪条线程的 CPU 占用比较高 tid

3.printf "%x\n" tid 将该 id 进行 16 进制转换 tidhex

4.jstack PID |grep tidhex 打印线程的堆栈信息

# arthas

curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
1
2

# thread -n 3, 最忙的前 N 个线程并打印堆栈

# thread --all, 显示所有匹配的线程

  • 显示所有匹配线程信息,有时需要获取全部 JVM 的线程数据进行分析。

# thread id, 显示指定线程的运行堆栈

# thread -b, 找出当前阻塞其他线程的线程

# thread -i, 指定采样时间间隔

  • thread -i 1000 : 统计最近 1000ms 内的线程 CPU 时间。
  • thread -n 3 -i 1000 : 列出 1000ms 内最忙的 3 个线程栈

# thread --state ,查看指定状态的线程

#Java基础
上次更新: 2023/08/30, 15:34:42
常见基础问题
内存模型

← 常见基础问题 内存模型→

最近更新
01
AI是如何学习的
06-05
02
chatGpt提示原则
06-05
03
提示词工程实践指南
06-05
更多文章>
| Copyright © 2022-2025 Kevin | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式