当前位置: 首页 > news >正文

关于服务器cpu过高的问题排查

1.定位是哪个程序造成的cpu过高

如果有云服务器,就用云服务器自带的监控功能,查时间段

如果没有,则使用:

ps -eo pid,comm,pcpu,pmem,cputime --sort=-cputime | head -n 100

2.定位到问题

发现是uwsgi的cpu消耗过高!

配合uwsgi的查询方式:使用 strace 和 perf 排查 uWSGI 占用 CPU 的情况,可以帮助你定位性能瓶颈或代码中的问题

yum install strace
ps aux | grep uwsgi
strace -p <PID> -c
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------45.23    0.123456         123      1000         0 poll30.12    0.082345          82      1000         0 read10.45    0.028901          28      1000         0 write...
------ ----------- ----------- --------- --------- ----------------
100.00    0.273456                  3000         0 total
  • % time:每个系统调用占用的 CPU 时间百分比。

  • seconds:每个系统调用的总耗时。

  • calls:每个系统调用的调用次数。

  • syscall:系统调用的名称。

通过分析输出,可以确定哪些系统调用占用了较多的 CPU 时间。

3.进一步分析:使用 perf 和火焰图定位高 CPU 消耗的函数。

yum install perf
git clone https://github.com/brendangregg/FlameGraph.git
cd FlameGraph
perf record -p <PID> -g
perf script | ./stackcollapse-perf.pl | ./flamegraph.pl > flamegraph.svg
firefox flamegraph.svg

http://www.lryc.cn/news/547299.html

相关文章:

  • Gpt翻译完整版
  • 雷池WAF的为什么选择基于Docker
  • 美股回测:历史高频分钟数据的分享下载与策略解析20250305
  • 【文生图】windows 部署stable-diffusion-webui
  • [Python入门学习记录(小甲鱼)]第3章 Python基础知识
  • 某系统webpack接口泄露引发的一系列漏洞
  • 【计算机网络入门】初学计算机网络(十一)重要
  • 决策树(Decision Tree)基础知识
  • Nat Mach Intell | AI分子对接算法评测
  • 【自学笔记】Hadoop基础知识点总览-持续更新
  • 【Linux】使用问题汇总
  • (二 十 二)趣学设计模式 之 备忘录模式!
  • 交叉编译openssl及curl
  • 【每日八股】计算机网络篇(三):IP
  • Gartner:数据安全平台DSP提升数据流转及使用安全
  • 从vue源码解析Vue.set()和this.$set()
  • 深入浅出:UniApp 从入门到精通全指南
  • DeepSeek未来发展趋势:开创智能时代的新风口
  • 阻塞队列的实现(线程案例)
  • http status是什么?常见的http状态码指的是什么意思?
  • react组件分离,降低耦合
  • 【AI】AI白日梦+ChatGPT 三分钟生成爆款短视频
  • MYSQL的安装教程
  • 深入解析 C# 中的泛型:概念、用法与最佳实践
  • NUMA架构介绍
  • 数据安全VS创作自由:ChatGPT与国产AI工具隐私管理对比——论文党程序员必看的避坑指南
  • python爬虫:python中使用多进程、多线程和协程对比和采集实践
  • 《OpenCV》—— dlib库
  • Linux搜索---find
  • python之爬虫入门实例