Linux top命令
阅读数:193 评论数:0
跳转到新版页面分类
Linux
正文
一、概述
显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
二、语法
top [参数]
注意:默认是5更新一次数据。
-b | 批处理 |
-c | 显示完整的命令 |
-l | 忽略失效进程 |
-s | 保密模式 |
-S | 累积模式 |
-i<时间> | 设置间隔时间 |
-u<用户名> | 指定用户名 |
-p<进程号> | 指定进程 |
-n<次数> | 循环显示的次数 |
三、使用技巧:
1.多U多核CPU监控
在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况,再按数字键1,就会返回到top基本视图界面。
2.高亮显示当前运行进程
敲击键盘“b”(打开/关闭加亮效果),可以通过敲击“y”键关闭或打开运行态进程的加亮效果。
3.进程字段排序
敲击键盘“x”(打开/关闭排序列的加亮效果),top默认的排序列是“%CPU”。
4. 通过”shift + >”或”shift + <”可以向右或左改变排序列
下图是按一次”shift + >”的效果图,视图现在已经按照%MEM来排序。
四、显示说明
top - 11:21:55 up 2:29, 1 user, load average: 1.13, 1.15, 1.03
# up 2:29表示已经运行了2小时29分
# 1 user 表示当前登录用户数
# load average分别表示 1分钟、5分钟、15分钟前到现在的平均负载率,负载均值的饱和值等于系统的术数
任务: 167 total, 2 running, 165 sleeping, 0 stopped, 0 zombie
# 进程总数 正在运行的进程数 睡眼状态的进程数 停止的进程数 僵尸进程数
%Cpu(s): 1.9 us, 0.9 sy, 0.0 ni, 97.1 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
# us UserTime cpu执行用户进程原分比,包括Nice Time
# sy SystemTime CPU在内核运行原分比,包括IRQ和SoftIRQ
# id IdleTime 系统空闲百分比
# wa WaitingTime CPU等待IO完成所有百分比
# hi HardIRQTime 硬中断占用的CPU时间百分比
# si SoftIRQTime 软中断占用的CPU时间原分比
# st StealTime 虚拟服务占用
MiB Mem : 7656.5 total, 5080.6 free, 1453.5 used, 1122.5 buff/cache
MiB Swap: 976.0 total, 976.0 free, 0.0 used. 5728.0 avail Mem
进程号 USER PR NI VIRT RES SHR %CPU %MEM TIME+ COMMAND
1336 cuihs 20 0 3481720 377220 177576 S 5.0 4.8 12:59.67 firefox-esr
1、%Cpu(s)是cpu状态信息:
(1)us用户空间占用cpu的百分比
(2)sy内核空间占用cpu的百分比
(3)ni改变过优先级的进程占用cpu的百分比
(4)id空闲cpu占用百分比
(5)wa io等待占用百分比
(6)hi 硬中断占用百分比
(7)si 软中断占用百分比
注意 %CPU显示的是进程占用一个核的百分比,而不是所有CPU的百分比,所以当进程启用多线程占用多个核时,可能大于100.
2、Mem内存状态
(1)total物理内存总量
(2)used使用中的内存总量
(3)free空闲内存总量
(4)buffers缓存的内存量
3、swap交换区信息
(1) total — 交换区总量
(2) — 使用的交换区总量
(3) free — 空闲交换区总量
(4) cached — 缓冲的交换区总量
4、备注:
第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:18537836k +169884k +3612636k = 22GB左右。
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
5、各进程(任务)的状态监控,项目列信息说明如下:
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 — 进程名称(命令名/命令行)