众所周知,生病了需要去医院看病,大夫会问哪里不舒服,然后通过观察和自己的经验,大体上就能判断我们得的什么病。linux 不会说话,它不会主动告诉我们哪里出现了问题,需要我们自己去观察。那么如何评估系统运行状态是否良好呢?下面就来一一介绍。
使用 w 命令查看当前系统的负载
[root@evan-01 ~]# w
10:45:48 up 0 min, 1 user, load average: 0.39, 0.13, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.94.1 10:45 4.00s 0.07s 0.03s w
[root@evan-01 ~]#
第一行从左到右分别是:时间、系统运行时间、用户登录数、平均负载。
从第二行开始的所有行都是告诉我们:当前登录的用户名、登录的终端、登录地址、登录时间、空闲了多长时间…
这个部分是非常重要的
load average: 0.39, 0.13, 0.05
第 1 个数值表示 1 分钟内系统的平均负载值,第 2 个数值表示 5 分钟内系统的平均负载值,第 3 个数值表示 15 分钟内系统的平均负载值。我们着重看第 1 个值,它表示单位时间段内使用 CPU 的活动进程数(在这里其实也就是 1 分钟内)值越大说明服务器压力越大。一般情况下,这个值只要不超过服务器的 CPU 数量就没有关系。如果服务器的 CPU 数量为 8 ,那么值小于 8 就说明当前服务器没有压力;否则就要关注一下了
查看 CPU 信息
[root@evan-01 ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 158
model name : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
stepping : 9
microcode : 0x8e
cpu MHz : 2800.000
cache size : 6144 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm 3dnowprefetch epb fsgsbase smep xsaveopt xsavec xgetbv1 dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
bogomips : 5616.00
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
[root@evan-01 ~]#
processor 如果是 0 就代表有一颗 CPU(逻辑CPU)
使用 uptime 这个命令也可以查看3个时间段的负载数值
[root@evan-01 ~]# uptime
10:50:27 up 5 min, 1 user, load average: 0.01, 0.06, 0.05
[root@evan-01 ~]#