Linux系统负载排查

参考  http://www.ruanyifeng.com/blog/2011/07/linux_load_average_explained.html

在Linux系统中,我们一般使用uptime命令查看(w命令和top命令也行)。(另外,它们在苹果公司的Mac电脑上也适用。)

输出如下:

$ uptime
13:18:13 up 202 days, 11:27, 1 user, load average: 0.06, 0.09, 0.12

这行信息的后半部分,显示"load average",它的意思是"系统的平均负荷",里面有三个数字,我们可以从中判断系统负荷是大还是小。

为什么会有三个数字呢?你从手册中查到,它们的意思分别是1分钟、5分钟、15分钟内系统的平均负荷。

如果你继续看手册,它还会告诉你,当CPU完全空闲的时候,平均负荷为0;当CPU工作量饱和的时候,平均负荷为1。

而且负荷是有可能大于1的。

一种情况是上面这样,有大量的新任务没有排上在等待,负载会大于1.

还有一种情况是上面这种。当有多核的时候,是会大于1的。2个CPU表明系统负荷可以达到2.0,此时每个CPU都达到100%的工作量。推广开来,n个CPU的电脑,可接受的系统负荷最大为n.0。

看系统信息,可以用

$ cat /etc/issue
CentOS release 4.3 (Final)
Kernel on an m

看CPU信息,可以用

$ grep -c 'model name' /proc/cpuinfo
40

如果直接用

$ cat /proc/cpuinfo 

会打印出所有的CPU信息。比如下面这条:

processor       : 39
vendor_id       : GenuineIntel
cpu family      : 6
model           : 63
model name      : Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz
stepping        : 2
cpu MHz         : 2300.000
cache size      : 25600 KB
physical id     : 1
siblings        : 20
core id         : 12
cpu cores       : 10
apicid          : 57
initial apicid  : 57
fpu             : yes
fpu_exception   : yes
cpuid level     : 15
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm dca sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm abm arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase bmi1 avx2 smep bmi2 erms invpcid
bogomips        : 4589.07
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

更多关于Linux系统负载的内容(包括用户态/系统态的情况),可以看我的这篇文章:http://www.cnblogs.com/charlesblc/p/6132522.html

原文地址:https://www.cnblogs.com/charlesblc/p/6169807.html