迪克猪的博客
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

05|基础篇--某个应用的CPU使用率居然达到100%,我该怎么办?

cpu使用率

  • 定义节拍率(内核中用HZ表示),触发时间中断,并使用全局变量Jiffies记录开机以来的节拍率
  • 没发生一次时间中断,Jiffies就增加1
  • 节拍率设置值100、250、1000等,查询/boot/config来查看

表示每秒触发250次中断

  • 节拍率是内核选项,用户空间程序不能直接访问
  • 用户节拍率USER_HZ默认是100
  • /proc虚拟文件系统
    • 系统内部状态
    • /proc/stat提供cpu和任务系统信息

  • CPU使用率:就是空闲时间外的其他时间占总cpu时间的百分比

  • 每个进程的运行情况:/proc/[pid]/stat

如何查看cpu使用率

  • top显示系统整体cpu与内存使用情况,以及各个进程资源使用情况
  • ps显示每个进程的使用情况

cpu使用过高

  • 使用perf分析cpu性能