张伟杰
shopify上传图片文件流程优化
2025-06-25 上线发布计划
2025-07-02 上线发布计划
2025-07-09 上线发布计划
2025-07-21 ozon 广告管理新版接口调研分析
2025-07-23 上线计划
ozon & 美客多广告 工单调研
shopify 刊登流程优化
2025-07-30 上线计划
2025-08-06 上线发布计划
ebay 代码review
2025-08-13 上线发布计划
ebay 服务cpu 持续不减
2025-08-19 代码review
2025-08-20 上线计划
2025-08-27 上线计划
沃尔玛处理中
2025-09-03 上线计划
美客多up 模式刊登
2025-09-10 上线计划
2025-09-17 上线计划
2025-09-24 上线计划
2025-10-15 上线计划
2025-10-22 上线计划
2025-10-29 上线计划
2025-11-05 上线计划
2025-11-12 上线计划
美客多本地刷新es
ebay cpu 持续被拉高
2025-11-26 上线计划
2025-11-27 上线计划
tiktok 在线活动分站点拉取技术方案
2025-12-03 上线计划
2025-12-04 上线计划
2025-12-10 上线计划
2025-12-17 上线计划
2025-12-24 上线计划
target 平台商品刊登设计
美客多全球刊登支持up 模式调研
美客多全球up 模式刊登技术方案整理
2026-01-14 上线计划
2025-01-16 临时上线计划
2025-01-21 上线计划
2026-01-22 上线计划
2026-01-28 上线计划
2026-02-02 上线计划
2026-02-04 上线计划
2026-02-10 上线计划
2026-03-04 上线计划
2026-03-10 上线计划
2026-03-18 上线计划
2026-03-27 临时上线计划
2026-04-01 上线计划
2026-04-08 上线计划
2026-04-09 上线计划
2026-04-10 临时上线计划
本文档使用 MrDoc 发布
-
+
首页
ebay 服务cpu 持续不减
 ## 目前思路,进入每个 pod 服务中,获取进程最高的进程pid,然后依次获取具体java 线程id,打印出java 线程id 堆栈信息 1. BusyBox环境下面,搜索进程比较高的pid ```bash #!/bin/sh # 遍历所有进程,计算CPU时间并排序 for pid in $(ls /proc | grep -E '^[0-9]+$'); do if [ -f /proc/$pid/stat ]; then # 获取进程信息 stat=$(cat /proc/$pid/stat) cmd=$(tr '\0' ' ' < /proc/$pid/cmdline | cut -c1-50) # 计算CPU时间(utime + stime) utime=$(echo "$stat" | awk '{print $14}') stime=$(echo "$stat" | awk '{print $15}') cpu_time=$((utime + stime)) # 输出PID、CPU时间和命令 echo "$pid $cpu_time $cmd" fi done | sort -k2 -nr | head -5 ``` 2.查找高CPU进程的所有线程 ```bash # 替换<PID>为实际高CPU进程ID ls /proc/<PID>/task/ | while read tid; do [ -f /proc/<PID>/task/$tid/stat ] && \ echo "$tid $(cat /proc/<PID>/task/$tid/stat | awk '{print $14+$15}')" done | sort -k2 -nr | head -3 ``` 3.```bash # 将高 CPU 线程 ID(十进制)转为十六进制 printf "%x\n" <高CPU线程ID> ``` 4.```bash # 抓取线程堆栈 jstack 6 | grep -A20 "nid=0x<十六进制线程ID>" ``` 
zhangweijie
2025年8月17日 12:12
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码