CPU性能指标可以从两方面来看:静态动态

静态指标主要包括:

CPU的型号、主频、核数、cache等

动态指标主要包括:

CPU的平均负载状况、CPU的使用率、最耗CPU的进程有哪些

查看静态信息


在服务器运行过程中,一般我们比较少关注CPU的静态信息,但我们刚开始拿到一台服务器时,就会很关心静态信息了

好根据这些信息判断分配给这台服务器多大的压力等

通过 /proc/cpuinfo 文件来查看

Linux CPU 性能指标_java

查看动态信息


服务器变慢时,通常会先查看下CPU的负载是否过高,如果高了,再看下是哪些进程最耗费CPU,CPU使用率也是重要指标,让我们知道CPU消耗在哪些部分

01

CPU负载状况


通过负载信息能够直观的了解到CPU的压力状况,linux会给出最近1分钟、5分钟、15分钟的平均负载值

可以通过 top 命令查看

Linux CPU 性能指标_java_02

uptime 命令更加简洁直观

Linux CPU 性能指标_java_03

查看到负载值后,怎么判断CPU的负载是否过高呢?

有一个经验型的标准:

CPU负载上限值 = CPU的核数 * 4

例如是4核CPU,那么CPU的负载最好不要超过16,否则,CPU的压力就很大了

好比一个超市,有4个收银台,如果有16个顾客在排队结账,每个窗口4个人,顾客可以接受,收银员也不会感觉压力很大

02

耗费CPU的主要进程


发现CPU负载过高后,我们肯定想知道是谁把CPU搞的这么忙

通过 top 命令查看

Linux CPU 性能指标_java_04

用 ps 命令根据CPU使用量对进程排序

# ps -aux --sort -pcpu | less

Linux CPU 性能指标_java_05

03

CPU使用率


通过 top 命令查看

Linux CPU 性能指标_java_06

还可以查看每个核的使用率状况,执行 top 后按数字1键,就可以列出每个cpu的使用率

Linux CPU 性能指标_java_07

其中有几个主要信息项

id - CPU的空闲度

us - 用户进程对CPU的使用率 

sy - 系统进程对CPU的使用率
 
wa - IO等待情况 

st - 如果系统中运行了虚拟机,此项显示虚机使用CPU的情况