概述
两个术语:
- System load/CPU Load:是衡量Linux系统中CPU使用率过高或利用率不足的指标; CPU正在执行或处于等待状态的进程数。
- Load average:是在给定的1分钟,5分钟和15分钟的时间内计算出的平均系统负载。
平均负载是指其(内核)执行队列中被标记为正在运行或不间断的进程的运行平均值。
几乎所有类似Unix的系统仅统计处于运行或等待状态的进程。 但在Linux中,还包括处于不间断睡眠状态的进程,等待其他系统资源(例如磁盘I / O等)的进程等。
查看负载的命令
uptime
$ uptime
14:36:49 up 197 days, 20:42, 1 user, load average: 8.64, 8.54, 8.35
- load average over the last 1 minute is 8.64
- load average over the last 5 minutes is 8.54
- load average over the last 15 minutes is 8.35
平均较高的负载意味着系统过载。 许多进程正在等待CPU时间。
top
load average: 1.22, 1.12, 1.26
cat proc
$ cat /proc/loadavg
8.40 8.58 8.40 13/3894 81951
查看cpu
使用nproc或者lscpu命令。
$ nproc
80
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 80
On-line CPU(s) list: 0-79
Thread(s) per core: 2
Core(s) per socket: 20
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Gold 6248 CPU @ 2.50GHz
Stepping: 7
CPU MHz: 3200.195
CPU max MHz: 3900.0000
CPU min MHz: 1000.0000
BogoMIPS: 5000.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 28160K
NUMA node0 CPU(s): 0-19,40-59
NUMA node1 CPU(s): 20-39,60-79
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb cat_l3 cdp_l3 intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req
负载和cpu的对应
为了进一步了解系统负载,我们将采取一些假设。 假设我们的平均负载如下:
$ uptime
23:16:49 up 10:49, 5 user, load average: 1.00, 0.40, 3.35
在单core系统上
- CPU的利用率为100%。 在过去1分钟内,CPU(1.00)上有1个进程正在运行。
- CPU闲置率平均为60%; 最近5分钟内没有进程在等待CPU时间(0.40)。
- CPU平均超负荷235%; 最近15分钟内,有2.35个进程在等待CPU时间(3.35)。
在双core系统上
- 一个CPU平均100%处于空闲状态,另一个CPU正在使用。 最近1分钟内没有进程在等待CPU时间(1.00)。
- CPU的闲置率平均为160%; 没有进程正在等待CPU时间。 (5分钟内)(0.40)。
- CPU平均超负荷了135%; 1.35个进程正在等待CPU时间。 (3.35)在过去15分钟内。
备注:以上的cpuinfo和load信息,来自不同的机器,不是一台机器的信息,不要联系起来看。