Linux查看多核CPU利用率

Posted faopopo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux查看多核CPU利用率相关的知识,希望对你有一定的参考价值。

1.top

使用权限:所有使用者

使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

说明:即时显示process的动态

d :改变显示的更新速度,或是在交谈式指令列( interactive command)按s

q :没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行

c :切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S :累积模式,会将己完成或消失的子行程( dead child process )的CPU time累积起来

s :安全模式,将交谈式指令取消,避免潜在的危机

i :不显示任何闲置(idle)或无用(zombie)的行程

n :更新的次数,完成后将会退出top

b :批次档模式,搭配"n"参数一起使用,可以用来将top的结果输出到档案内

范例:

显示更新十次后退出;

top -n 10

使用者将不能利用交谈式指令来对行程下命令:

top -s

将更新显示二次的结果输入到名称为top.log的档案里:

top -n 2 -b < top.log

 

#top

如果不按1,在top视图里面显示的是所有cpu的平均值


在top基本视图中,按键盘数字1,可监控每个逻辑CPU的状况:

 

第一行:
 — 当前系统时间
 days — 系统已经运行了N天N小时N分钟(在这期间没有重启过)
2 users — 当前有2个用户登录系统
load average: 1.17, 1.86, 1.59 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行:
Tasks — 任务(进程),系统现在共有164个进程,其中处于运行中的有2个,162个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态

us — 用户空间占用CPU的百分比。
sy — 内核空间占用CPU的百分比。
ni — 改变过优先级的进程占用CPU的百分比
id — 空闲CPU百分比
wa — IO等待占用CPU的百分比
hi — 硬中断(Hardware IRQ)占用CPU的百分比
si — 软中断(Software Interrupts)占用CPU的百分比

第四行:内存状态
total — 物理内存总量
used — 使用中的内存总量
free — 空闲内存总量

buffers — 缓存的内存量
第五行:swap交换分区
total — 交换区总量
used — 使用的交换区总量
free — 空闲交换区总量
cached — 缓冲的交换区总量
第七行以下:各进程(任务)的状态监控
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

敲击键盘“b”(打开/关闭加亮效果);

敲击键盘“x”(打开/关闭排序列的加亮效果),

 

 

敲击“f”键,top进入另一个视图,在这里可以编排基本视图中的显示字段。
2.mpstat

要查看cpu波动情况的,尤其是多核机器上。该命令可间隔2秒钟采样一次CPU的使用情况,每个核的情况都会显示出来。

#mpstat -P ALL 2 5

 

 

3.proc

#cat /proc/cpuinfo

 

 

查看内存

#cat /proc/meminfo
 

4.vmstat

r表示运行队列的大小,

b表示由于IO等待而block的线程数量,

in表示中断的数量,

cs表示上下文切换的数量,

us表示用户CPU时间,

sys表示系统CPU时间,

wa表示由于IO等待而是CPU处于idle状态的时间,

id表示CPU处于idle状态的总时间。

#vmstat

 

以上是关于Linux查看多核CPU利用率的主要内容,如果未能解决你的问题,请参考以下文章

怎么让linux的多核cpu占用在60

linux下用top命令查看cpu利用率超过100%

Linux服务器如何查看CPU占用率、内存占用、带宽占用

linux的cpu使用率

如何在linux系统下查看cpu使用率

linux单进程如何实现多核cpu多线程分配?