包含linux详解top命令的词条( 二 )


内存使用状况
接下来两行显示内存使用率,有点像'free'命令 。第一行是物理内存使用,第二行是虚拟内存使用(交换空间) 。物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存 。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间 。内存显示可以用'm'命令切换 。
字段列
PID : 进程ID,进程的唯一标识符
USER : 进程所有者的实际用户名 。
PR : 进程的调度优先级 。这个字段的一些值是'rt' 。这意味这这些进程运行在实时态 。
NI : 进程的nice值(优先级) 。越小的值意味着越高的优先级 。
VIRT :进程使用的虚拟内存 。
RES : 驻留内存大小 。驻留内存是任务使用的非交换物理内存大小 。
SHR : SHR是进程使用的共享内存 。
S : 这个是进程的状态 。它有以下不同的值:
D - 不可中断的睡眠态 。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
%CPU : 自从上一次更新时到现在任务所使用的CPU时间百分比 。
%MEM: 进程使用的可用物理内存百分比 。
TIME+ : 任务启动后到现在所使用的全部CPU时间,精确到百分之一秒 。
COMMAND : 运行进程所使用的命令 。
Linux TOP 命令top命令分为汇总区和任务明细区
当前时间是15:39:37. 系统已经运行了90天,15个小时 , 26分钟 。当前有两个活跃用户
上下两行以kb形式展示物理内存和swap内存的总计,空闲(free), 已使用(total)的情况
其中buff/cache,是在cpu读写硬盘数据时,为了提速在内存中开辟的缓冲(buffer针对写)或缓存区域(cache针对读)
avail mem 是创建新进程时,在不使用swap分区的情况下,能够分配的内存大小 。这个大小可能比当前的free还大,这是因为buff/cache中的内存在创建进程时,若需要,也是可以抢占过来的 。
总共有27个进程,1个运行,26的sleep中
load average后面的三组数字分别是1分钟、5分钟、15分钟的工作负载情况 。这里的Load指的出于R(runing)和D(Uninterruptible sleep)的两种状态下的进程数
在单核cpu情况下 。load average 为0.4的表示,其cpu利用率只有40% 。load average 为1,表示cpu利用率为100 。load average 为2.12说明 , cpu已经超负荷112% (2.12减满负荷1,即为超负荷部分)
在多核cpu的机器上,需要将以上的1,5,15的负载除以对应的cpu核数,才好评估对应的cpu的负载情况
比如,这个cpu为40核的机器上,其cpu过去一分钟的使用情况为:8.26/40=0.2065,说明cpu使用率只有20%
展示每个进程的情况
在top名称执行后,按小k,可以进入进程杀死对话框
在后面输入进程号,即可杀死进程
在top命令下
按以下大写字母,分别按不同的维度进行排序
当然你也可以在命令启动时,直接对top加参数 。比如以cpu使用情况排序
top命令默认显示的进程的运行情况,在top命令执行后 , 按大写的H , 可进入线程执行情况页面,再按一次H则会到进程展示 。或者在启动时对top加参数 top -H
在top执行后,按小c,则能够展示进程路径,并且对内核进程的名称(command列),加上方括号 。再按c切换回去
当然也可以在启动时,加参数 top -c
top执行后按大V
在top启动后 , 按小写u,在输入框中输入对应的用户名
或者在top启动时,通过加参数来过滤用户 top -u root
在top启动后 , 按大O,进入过滤表达式的输入框
表达式有以下几种类型
输入等号'=' , 清除filter表达式

推荐阅读