cpu 性能 实践 | 青训营

56 阅读1分钟

系统负载情况 top 或者 uptime 命令

  • uptime 命令每列输出的含义

    02:34:03            // 当前时间
    up 2 days, 20:14    // 系统运行时间
    1 user              // 正在登录用户数
    0.07, 0.02, 0.00    // 过去 1 分钟、5 分钟、15 分钟的平均负载(Load Average)
    
  • 逻辑CPU个数

$ grep 'model name' /proc/cpuinfo | wc -l
20

实践

工具: iostat , mpstat, pidstat

安装 stress 和 sysstat 包

  • stress 是一个 Linux 系统压力测试工具
  • sysstat 包含了常用的 Linux 性能工具,用来监控和分析系统的性能

终端1:运行 stress 命令,模拟一个 CPU 使用率 100% 的场景

stress --cpu 1 --timeout 600
stress: info: [303] dispatching hogs: 1 cpu, 0 io, 0 vm, 0 hdd

终端2:运行 uptime

watch -d uptime # -d 高亮显示变化区域
13:17:39 up  2:22,  0 users,  load average: 0.74, 0.24, 0.09

运行 mpstat 查看 CPU 使用率的变化情况

  • 正好有一个 CPU 的使用率为 100%,但它的 iowait 只有 0

linux3.jpg

命令小结

  • pidstat
  • mpstat:各个可用CPU的状态统计
  • iostat:统计系统IO状态信息
  • lsof:获取被进程打开文件的信息
  • ps:显示当前进程的状态,类似于 windows 的任务管理器
  • top
  • htop