Linux中查看CPU、内存和IO的占用情况

查看CPU详细信息

在Linux服务器上查看CPU详细信息:
cat /proc/cpuinfo
输出结果:

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 62
model name      : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
stepping        : 4
microcode       : 0x428
cpu MHz         : 1200.062
cache size      : 20480 KB
physical id     : 0
siblings        : 16
core id         : 0
cpu cores       : 8
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
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 arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt
bogomips        : 5200.34
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

上面只截取了一部分信息,
完整的CPU信息请参考文末附录,
这个命令输出了太多的冗余信息不方便查看,
下面介绍的命令以该Linux输出的CPU信息为例,
可以很方便的知道当前系统CPU的特定信息。

 

查看物理CPU的个数

cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
输出结果:
2
表示Linux服务器上面实际安装了2个物理CPU芯片。

查看物理CPU内核的个数

cat /proc/cpuinfo | grep "cpu cores" | uniq
输出结果:
cpu cores : 8
表示1个物理CPU里面有8个物理内核。

查看所有逻辑CPU的个数

cat /proc/cpuinfo | grep "processor" | wc -l
输出结果:
32
表示Linux服务器一共有32个逻辑CPU。

查看每个物理CPU中逻辑CPU的个数

cat /proc/cpuinfo | grep ‘siblings‘ | uniq
输出结果:
siblings : 16
表示每个物理CPU中有16个逻辑CPU,
一共有2个物理CPU,
所以总共有32个逻辑CPU,
和第5步中查看的结果一致。

查询CPU是否启用超线程

cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort | uniq
输出结果:
cpu cores : 8
siblings : 16
看到cpu cores数量是siblings数量一半,说明启动了超线程。
如果cpu cores数量和siblings数量一致,则没有启用超线程。

输出项的含义

cpuinfo输出了详细的信息,
可以看到CPU具体型号等各种参数,
下面说明各个输出项的含义:

 

输出项 含义
processor 系统中逻辑处理核的编号。对于单核处理器,则课认为是其CPU编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核
vendor_id CPU制造商
cpu family CPU产品系列代号
model CPU属于其系列中的哪一代的代号
model name CPU属于的名字及其编号、标称主频
stepping CPU属于制作更新版本
cpu MHz CPU的实际使用主频
cache size CPU二级缓存大小
physical id 单个CPU的标号
siblings 单个CPU逻辑物理核数
core id 当前物理核在其所处CPU中的编号,这个编号不一定连续
cpu cores 该逻辑核所处CPU的物理核数
apicid 用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续
fpu 是否具有浮点运算单元(Floating Point Unit)
fpu_exception 是否支持浮点计算异常
cpuid level 执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容
wp 表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)
flags 当前CPU支持的功能
bogomips 在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second)
clflush size 每次刷新缓存的大小单位
cache_alignment 缓存地址对齐单位
address sizes 可访问地址空间位数

Linux中查看CPU、内存和IO的占用情况

上一篇:Shell脚本中实现切换用户并执行命令操作


下一篇:win8第三步涂刷