Linux网络操作系统常用命令详解--Top命令

  Linux系统中Top命令可以让用户实时动态的观察了解系统的总体运行情况。该命令除了能够显示系统的总体运行情况外,还能显示被Linux内核管理的任务列表。Top命令显示的系统总体运行情况的信息的类型以及跟任务列表有关的信息的类型、顺序、大小都是可配置的,并且配置结果系统重新启动后也保持有效。Top命令的使用比较简单,但是显示的系统信息和任务列表信息的项目、类型比较多,并且多数是缩写形式,理解记忆比较麻烦,所以我们在此对这些信息进行归纳总结,以方便参考查阅。

1.Top命令的使用

  Top命令的启动:[root@localhost ~]# top -d 2  //参数-d 2表示延迟2秒更新显示

  Top命令的退出:可以按‘q’键或者Ctrl+c。

  显示内容选择:通过 f 键可以选择显示的内容,按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。

  显示顺序调整:按 o 键可以改变列的显示顺序,按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。

  保存显示配置信息:退出Top命令之前按‘W’(大写)键可以将当前配置保存下来,下次再运行该命令就会按照用户习惯来显示系统信息了。

  Top命令运行的显示界面如下图:

2.Top命令显示信息详解

Linux网络操作系统常用命令详解--Top命令

  表1 系统总体运行情况

top- 16:10:41

Up 5:01

3 users

load average: 0.00, 0.00, 0.00

系统当前时间

系统运行5小时1分钟

当前登录用户数

系统平均负载

Tasks: 226 total,  1 running,  225 sleeping,  0 stopped,  0 zombie

任务:共226任务,正在运行:1个,休眠状态:225个,停止:0个,僵尸进程:0个

Cpu(s):           

1.4%us,

0.8%sy,

0.0%ni,

97.9%id,

0.0%wa,

0.0%hi,

0.1%si,

0.0%st

CPU利用情况

用户模式时间

系统模式时间

低优先权用户模式

空闲

I/O等待时间

硬件中断服务时间

软件中断服务时间

被窃取时间

Mem:      1915516k total,   954192k used,   961324k free,    34880k buffers

物理内存: 内存总数1915516k,已使用954192k,剩余961324k,缓冲内存 34880k

Swap:     2097144k total,        0k used,  2097144k free,   291444k cached

交换分区:总容量2097144k,    已用0k,剩余2097144k ,缓冲291444k

  注释:

  (1)us = user mode; sy = system mode;ni = low priority user mode (nice);id = idle task;wa = I/O waiting;hi = servicing IRQs;si = servicing soft IRQs;st = steal (time given to other DomU instances);

  (2)load average: 即任务队列的平均长度,三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值;

  (3)%ni:用户进程内改变过优先级的进程占用CPU百分比;

  (4)%st:被窃取时间,比如虚拟机实例管理时间;

  (5)buffers:出现在Mem,实际上是要从内存写入硬盘的数据,由于内存和硬盘的IO速度不一样,解决的是写效率的问题;

  (6)cached:出现在Swap,实际上是要从硬盘读入内存的数据,由于再读一次硬盘速度会很慢,虚拟内存就将一些次重要的文件放在cached,让二次读取同样数据时间会更快一点。

  表2 任务列表

项目

项目解释

项目说明

PID

Process Id

进程的唯一ID号

USER

User Name

用户名,进程的所有者

PR

Priority

进程的优先权,其值越小,优先级就越高。

NI

Nice value

负值表示高优先级,正值表示低优先级。通过设置Nice值可以调整进程的优先级。

VIRT

Virtual Image(kb) 

进程占用的虚拟内存总量

RES

Resident size (kb)

进程占用的物理内存总量

SHR

Shared Mem size (kb)

进程占用共享内存的容量(和其他进程共享)

S

Process Status

进程状态

%CPU

CPU usage

上次更新到现在的占用CPU时间的百分比

%MEM

Memory usage (RES)

进程占用物理内的存百分比

TIME+

CPU Time, hundredths

进程使用的CPU时间总计,单位为1/100秒

COMMAND

Command line or Program name

命令行或程序名

  注释:

  (1)进程状态的值:D=不可中断的睡眠状态;R=正在运行;S=睡眠状态;T=被跟踪或停止状态;Z=僵尸进程。

  (2)PR和NI的关系:NI值取值范围通过NICE_WIDTH宏定义实现,从-20至19,共40级,映射到实际的优先级范围是100-139;PI取值范围是通过MAX_PRIO宏定义实现的,它的值为140,Linux实际上实现了140个优先级范围,取值范围是从0-139;进程的实际优先级是由旧的优先级和新设置的Nice值相加的确定的,即PR=PR+NI,也就是说进程最后的优先级是由PR和NIC共同决定的。

  表3 其它显示项目

项目

项目解释

项目说明

PPID

Parent Process Pid

父进程id

GROUP

Group Name

进程所有者所属组名

TTY

Controlling Tty

启动进程的终端名,不是从终端启动的进程则显示为 ‘?’

TIME

CPU Time

进程使用的CPU时间总计,单位秒

SWAP

Swapped size (kb)

进程利用虚拟内存情况,占用交换分区的大小,单位kb

Flags

Task Flags

进程标志

WCHAN

Sleeping in Function

若该进程在睡眠,则显示睡眠所处中的系统函数名,正在运行的进程显示’-’

CODE     

Code size (kb)

可执行代码占用的物理内存大小,单位kb

DATA

Data+Stack size (kb)

可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb

nFLT

Page Fault count

由于页面不在内存引起的读写错误数(错页数)

nDRT

Dirty Pages count

从最后一次写盘起被修改过的页面数(脏页数)

P

Last used CPU (SMP)

在对称多处理环境中最后使用的处理器编号

RUSER

Real User Name

进程所有者的实际用户名

UID

User Id

进程所有者的有效ID号

  参考文献:

  1. Linux:top ,https://www.jianshu.com/p/6ddab409bcd3.
  2. top 解析,https://blog.51cto.com/312461613/1184980.
  3. Linux top命令的用法详细详解,https://www.cnblogs.com/zhoug2020/p/6336453.html.

Linux网络操作系统常用命令详解--Top命令

上一篇:linux及项目发布


下一篇:如何使用GMAP/GSNAP进行转录组序列比对