系统服务监控--CPU利用率

本文介绍了Unix系统中CPU利用率的组成部分,包括用户时间、系统时间、空闲时间等,并通过top命令详细解析了CPU使用情况,如用户时间、系统时间、空闲时间、等待时间等。同时,讨论了如何查看多核CPU的利用率,以及如何通过top命令关注特定进程的性能。

unix系统中,CPU消耗主要在以下几个方面:用户进程、内核进行、中断处理、I/O等待,Nice时间、丢失时间、空闲等。CPU的利用率则为这些时间所占总时间的百分比。

在unix系统中,可以通过top命令来查看CPU的消耗情况:
top | grep Cpu

这里写图片描述

依次按列说明:
us: 用户时间(User Time), 表示CPU执行用户进程所占用的时间,通常希望us占比越高越好。
sy: 系统时间(System Time),表示CPU在内核态所花费的时间,sy占比高,说明系统某些地方设计有些不合理,比如频繁的系统调用。
ni:Nice时间(Nice Time),表示系统在调整进程优先级方面花费的时间.
id:空闲时间(Idle Time),表示系统处于空闲期,等待程序运行所占用的时间。当然,id占比越低越好。
wa:等待时间(Waiting Time),表示CPU在等待I/O操作所占时间。若占比过高,说明系统设计不合理,导致花费大量时间等待I/O.
hi:硬件中断处理时间(Hard Irq Time),表示系统处理硬件中断所占时间。
si:软件中断处理时间(Soft Irq Time),表示系统处理软件中断所占用的时间。
st:丢失时间(Steal TIme),表示被强制等待虚拟CPU的时间。如果st占比过高,说明当前虚拟机与该宿主上的其他虚拟机间的CPU争用较为频繁。

如果有多个CPU或多核CPU是,可以按1,查看每个核的CPU利用率:

这里写图片描述

如果单单输入top命令,则得到如下图:

这里写图片描述

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

第四行:内存状态
16331676k total — 物理内存总量(16GB)
15911696k used — 使用中的内存总量(15.9GB)
419980k free — 空闲内存总量(419M)
240796k buffers — 缓存的内存量 (240M)

注意:这里并不能看出内存的“真实”信息,查看系统内存信息可用free -m命令查看,这里不赘述。

第五行:swap交换分区
8232952k total — 交换区总量(8GB)
463552k used — 使用的交换区总量(463M)
7769400k free — 空闲交换区总量(7.7GB)
4499196k cached — 缓冲的交换区总量(4GB)

第七行以下:各进程(任务)的状态监控
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 — 进程名称(命令名/命令行)

查看某个进程的运行状况,可用命令top -p 进程号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值