admin 管理员组

文章数量: 1184232


2024年3月13日发(作者:个人简历电子版空白)

Linux top命令参数详解

top命令是一个在Linux和其他类Unix系统上常用的实时系统监控工具,它可以显示系统的整体性能信息以及正在运行的进程的

相关信息。本文将介绍top命令的基本用法、常用参数、输出结果解析和功能交互操作。希望本文能对您有所帮助。

1. top命令的基本用法

top命令的基本语法格式如下:

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

其中,方括号表示可选参数,以下是各个参数的含义:

-d delay

:指定top命令显示页面更新一次的间隔,单位为秒,默认为5秒。

-q

:忽略优先级限制,只有超级用户才能使用此选项。

-c

:显示完整的命令行而不截断。

-S

:累计显示进程的CPU使用时间。

-s

:安全模式,不允许交互操作。

-i

:不显示闲置(idle)或无用的进程。

-n

:指定top命令运行的次数后自动退出。

-b

:以批处理(batch)模式运行,直接将结果输出到文件。

例如,如果要每隔2秒更新一次页面,并显示完整的命令行,可以使用以下命令:

top -d 2 -c

如果要显示指定进程ID(pid)的信息,可以使用以下命令:

top -p pid

如果要显示指定用户名(user)的进程信息,可以使用以下命令:

top -u user

2. top命令的常用参数

除了上述基本参数外,top命令还支持一些常用参数,这些参数可以在top命令运行时通过按键来切换或调整。以下是一些常用

参数的说明:

h

:显示帮助信息。

k

:终止一个进程,需要输入进程ID和信号代码。

r

:重设一个进程的优先级(nice值),需要输入进程ID和新的nice值。

f

:进入字段选择模式,可以选择要显示或隐藏哪些字段。

o

:进入排序选择模式,可以选择按照哪个字段进行排序。

l

:切换是否显示第一行(系统负载信息)。

t

:切换是否显示第二行(任务信息)和第三行(CPU信息)。

m

:切换是否显示第四行(内存信息)和第五行(交换区信息)。

s

:改变屏幕更新频率,需要输入新的更新间隔。

n

:改变要显示的进程数量,需要输入新的数量值。

q

:退出top命令。

3. top命令的输出结果解析

top命令的输出结果可以分为两部分:系统整体统计信息和进程统计信息。系统整体统计信息包括前五行,进程统计信息包括第

八行开始的每个进程的相关信息。我们从上往下逐行依次进行说明。

3.1 系统整体统计信息

3.1.1 第一行

第一行包括以下内容:

top - 16:20:38 up 12 days, 5:24, 2 users, load average: 0.04, 0.03, 0.05

其中:

top - 16:20:38

:表示当前时间为16:20:38。

up 12 days, 5:24

:表示系统已经运行了12天5小时24分钟。

2 users

:表示当前有2个用户登录系统。

load average: 0.04, 0.03, 0.05

:表示系统的平均负载,即任务队列的平均长度。三个数值分别为1分钟、5分钟、15分

钟前到现在的平均值。

系统的平均负载反映了系统的压力情况,一般来说,平均负载不应该超过CPU的核心数,否则可能会导致性能下降。但是,平

均负载高并不一定意味着CPU的使用率高,也可能是由于IO等待或其他原因造成的。

3.1.2 第二行

第二行包括以下内容:

Tasks: 127 total, 1 running, 126 sleeping, 0 stopped, 0 zombie

其中:

Tasks: 127 total

:表示当前有127个进程。

1 running

:表示正在运行的进程数。

126 sleeping

:表示正在休眠的进程数。

0 stopped

:表示停止的进程数。

0 zombie

:表示僵尸进程数。

进程的状态可以用以下字母来表示:

D

:不可中断的睡眠状态(uninterruptible sleep),通常是在等待IO操作。

R

:运行状态(running or runnable),即在CPU上运行或在运行队列中等待运行。

S

:可中断的睡眠状态(interruptible sleep),通常是在等待某些事件发生。

T

:停止状态(stopped or traced),通常是因为收到信号而停止运行。

Z

:僵尸状态(zombie),通常是子进程退出后,父进程还没有回收资源。

3.1.3 第三行

第三行包括以下内容:

%Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

其中:

%Cpu(s)

:表示所有CPU的使用情况,如果有多个CPU,可以按数字键1来切换显示每个CPU的使用情况。

us

:表示用户空间占用CPU的百分比,即用户态进程消耗的CPU时间百分比。用户态进程包括shell程序、各种应用程序、

web服务器和各种桌面应用等。

sy

:表示内核空间占用CPU的百分比,即内核态进程消耗的CPU时间百分比。内核态进程包括系统调用、中断处理、内核

线程等。

ni

:表示用户进程空间内改变过优先级的进程占用CPU的百分比,即nice值不为0的进程消耗的CPU时间百分比。nice值

可以调整进程用户态的优先级,负值表示高优先级,正值表示低优先级。

id

:表示空闲CPU百分比,即没有分配给任何进程的CPU时间百分比。

wa

:表示等待输入输出的CPU时间百分比,即因为IO操作而阻塞的CPU时间百分比。如果这个值过高,可能说明存在IO瓶

颈问题。

hi

:表示硬中断(hardware IRQ)占用CPU的百分比,即处理硬件设备发送给CPU的中断请求所消耗的CPU时间百分

比。硬件设备包括硬盘、网卡、键盘、鼠标等。

si

:表示软中断(software IRQ)占用CPU的百分比,即处理软件发送给CPU的中断请求所消耗的CPU时间百分比。

st

:表示虚拟机占用的CPU时间百分比,即被虚拟机管理程序(hypervisor)偷走的CPU时间百分比。如果这个值过高,

可能说明存在虚拟化问题。

3.1.4 第四行

第四行包括以下内容:

KiB Mem : 1016332 total, 133056 free, 203716 used, 679560 buff/cache

其中:

KiB Mem

:表示物理内存的使用情况,单位为KB。

total

:表示物理内存的总量。

free

:表示物理内存的空闲量。

used

:表示物理内存的已用量。

buff/cache

:表示物理内存的缓冲区和缓存量。

缓冲区(buffer)是用于存放输入输出数据的临时区域,通常是由系统内核管理的。缓存(cache)是用于存放频繁访问的数据

的临时区域,通常是由应用程序管理的。缓冲区和缓存可以提高系统的性能,因为它们可以减少对硬盘等慢速设备的访问。当

系统需要更多的内存时,缓冲区和缓存可以被回收。

3.1.5 第五行

第五行包括以下内容:

KiB Swap: 1048572 total, 1048572 free, 0 used. 604532 avail Mem

其中:

KiB Swap

:表示交换区(swap)的使用情况,单位为KB。交换区是一种扩展物理内存的方法,它可以将一部分硬盘空间

作为虚拟内存使用。

total

:表示交换区的总量。

free

:表示交换区的空闲量。

used

:表示交换区的已用量。

avail Mem

:表示可用内存的数量,即空闲内存加上可回收的缓冲区和缓存。

3.2 进程统计信息

从第八行开始,每一行显示一个进程的相关信息。每一列代表一个字段,可以按f键来选择要显示或隐藏哪些字段。以下是一些

常见字段的说明:

字段

PID

USER

PR

NI

VIRT

含义

进程ID

进程所有者

进程优先级

进程nice值

进程使用的虚拟内存总量

字段

RES

SHR

S

%CPU

%MEM

TIME+

COMMAND

含义

进程使用的物理内存总量

进程使用的共享内存总量

进程状态

进程占用CPU的百分比

进程占用内存的百分比

进程运行时间

进程命令

4. top命令的功能交互操作

top命令不仅可以显示系统和进程的信息,还可以对进程进行一些操作,例如终止、重设优先级、过滤、搜索等。以下是一些常

用功能交互操作的说明:

4.1 终止进程

如果要终止一个进程,可以按k键,然后输入进程ID和信号代码。信号代码是一个数字,代表发送给进程的信号类型。常见的信

号代码有以下几种:

信号代码

1

2

3

9

15

19

20

含义

SIGHUP,挂起信号,通常用于重启进程或重新加载配置文件

SIGINT,中断信号,通常用于终止进程

SIGQUIT,退出信号,通常用于终止进程并生成核心转储文件(core dump)

SIGKILL,强制终止信号,通常用于无法正常终止的进程

SIGTERM,终止信号,通常用于正常终止进程

SIGSTOP,停止信号,通常用于暂停进程

SIGCONT,继续信号,通常用于恢复进程

例如,如果要强制终止PID为1234的进程,可以按k键,然后输入1234和9。

4.2 重设优先级

如果要重设一个进程的优先级(nice值),可以按r键,然后输入进程ID和新的nice值。nice值是一个-20到19的整数,负值表示

高优先级,正值表示低优先级。只有超级用户才能设置负值的nice值。

例如,如果要提高PID为1234的进程的优先级,可以按r键,然后输入1234和-10。

4.3 过滤进程

如果要过滤显示某些进程,可以按o键,然后输入过滤条件。过滤条件是一个字段名和一个值的组合,可以使用以下符号来表示

关系:

符号

=

!=

<

>

含义

等于

不等于

小于

大于

例如,如果要过滤显示USER为root的进程,可以按o键,然后输入USER=root。

4.4 搜索进程

如果要搜索某些进程,可以按L键,然后输入搜索关键字。搜索关键字可以是任意字符串,会在COMMAND字段中进行匹配。

匹配到的进程会被高亮显示。

例如,如果要搜索包含ssh的进程,可以按L键,然后输入ssh。


本文标签: 进程 表示 显示 系统 信息