Linux中的top命令

top 命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,默认进入top时,各进程是按照CPU的占用量来排序的。

常用参数

-u <username> 查看指定用户的进程
-p <PID> 查看指定进程


命令显示
codedancing@CentOS:~$ top
top - 20:45:54 up 1 day,  7:38,  1 user,  load average: 0.02, 0.04, 0.05
Tasks:  82 total,   1 running,  81 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  1.0 sy,  0.0 ni, 98.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1016288 total,    82676 free,   648696 used,   284916 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   195552 avail Mem
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 1058 root      20   0  740212  10924   1488 S  0.7  1.1   7:54.51 barad_agent
  501 root      20   0  163928  16976   1012 S  0.3  1.7   7:36.82 YDService
23276 root      20   0 2313928 424428   2532 S  0.3 41.8   2:12.45 java

解释:
第一行,任务队列信息,同 uptime 命令的执行结果
20:45:54 — 当前系统时间
up 1 day, 7:38 — 系统已经运行了1天7小时38分钟
1 users — 当前有1个用户已登录系统
load average: 0.02, 0.04, 0.05 — 1分钟、5分钟、15分钟的系统平均负载情况

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。假设机器的逻辑处理器数量为n,则当负载的平均值为n的时候,机器就是刚好满负载运行了,如果大于n,就是超负荷运行了。
什么是Linux CPU负载?
如果CPU每分钟最多处理100个进程,那么系统负荷0.2意味着CPU在这1分钟里只处理20个进程;系统负荷1.0意味着CPU在这1分钟里正好处理100个进程;系统负荷1.7,意味着除了CPU正在处理的100个进程以外,还有70个进程正排队等待CPU处理。
干预法则:
当系统负荷持续大于0.7,必须开始调查了,问题出在哪里,防止情况恶化。
当系统负荷持续大于1.0,必须动手寻找解决办法,把这个值降下来。
为了电脑顺畅运行,系统负荷最好不要超过1.0,这样就没有进程需要等待了,所有进程都能第一时间得到处理。

第二行,Tasks — 任务(进程)
系统现在共有82个进程,状态是:1个运行(running),81个休眠(sleep),有0个停止(stop),0个僵尸(zombie)。

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

第四行,内存状态(单位:KB)
total — 物理内存总量
free — 空闲内存总量
used — 使用中的内存总量
buffers — 缓存的内存量

第五行,swap交换分区信息
total : 交换区内存总容量
free: 交换区空闲的内存容量
used : 交换区内存使用的容量
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 — 进程名称(命令名/命令行)


top交互指令

数字1:可监控每个逻辑CPU的状况
k: 终止一个进程
i:忽略闲置和僵死进程
m:切换显示内存状态信息
t:切换显示CPU状态信息
c:切换显示命令名称和完整命令行

P:根据CPU使用百分比大小进行排序( top默认 )
M:根据驻留内存大小进行排序
T:根据时间/累计时间进行排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值