top:显示进程

作用:top命令用来显示系统当前的进程状况。

用法:top [选项]

主要选项如下。

-b:使用批处理模式。

-c:显示程序并显示程序的完整相关信息,如名称、路径等。

-i:忽略闲置或已经冻结的程序。

-d<delay>:以秒为单位,设定监控程序执行状况的时间间隔。

-n<iterations>:设定监控信息的更新次数。

-p<进程号>:指定进程。

-s:安全模式。

-u<somebody>:指定用户名。

-v:显示版本信息。

-h:显示帮助信息。

说明:top命令和ps命令的基本作用是相同的,都是显示系统当前的进程状况。但是top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。下面结合图4-4来说明它给出的信息。

201009161416.jpg

(点击查看大图)图4-4 top命令详解

在图4-4中分成几行显示,其含义分别如下。

第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。

第二行显示的是所有启动的、目前运行的、挂起(Sleeping)的和无用(Zombie)的进程。

第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例。

第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。

第五行显示交换分区的使用情况,包括总的、使用的、空闲的和用于高速缓存的交换分区。

第六行显示的项目最多,下面列出了详细解释。

PID(Process ID):进程标志号,是非零正整数。

USER:进程所有者的用户名。

PR:进程的优先级别。

NI:进程的优先级别数值。

VIRT:进程占用的虚拟内存值。

RES:进程占用的物理内存值。

SHR:进程使用的共享内存值。

STAT:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。

%CPU:该进程占用的CPU使用率。

%MEM:该进程占用的物理内存和总内存的百分比。

TIME:该进程启动后占用的总的CPU时间。

COMMAND:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

在top命令使用过程中,还可以使用一些交互的命令来完成其他参数的功能。这些命令是通过以下快捷键启动的。

<空格>:立刻刷新。

P:根据CPU使用大小进行排序。

T:根据时间、累计时间排序。

q:退出top命令。

m:切换显示内存信息。

t:切换显示进程和CPU状态信息。

c:切换显示命令名称和完整命令行。

M:根据使用内存大小进行排序。

W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。

应用实例如下。

(1)显示程序及其完整相关信息

#top -c

(2)以秒为单位,设定监控程序执行状况的时间间隔

例如,设定top命令的时间间隔为3秒,在命令行提示符下输入:

#top -d 3

(3)设定监控信息的更新次数

例如,设定系统任务信息更新5次后结束top命令,在命令行提示符下输入:

#top -n 5 ↙

<think>我们正在讨论的是如何在top命令中显示进程名称。实际上,在top命令的默认输出中,进程名称(即启动进程的命令或程序名)已经显示COMMAND列中。 但是,用户可能希望调整COMMAND列的显示宽度,或者可能因为默认显示被截断而看不到完整的进程名称。因此,我们需要说明如何调整COMMAND列的显示。 根据引用[1]中提到的,top命令接受键盘命令,我们可以利用这些命令来调整显示。 方法: 1. 启动top命令:在终端输入`top`并回车。 2. 进入top的交互界面后,我们可以通过按以下键来调整COMMAND列的显示: - 按`c`键:切换COMMAND列的显示模式,可以在显示完整命令和只显示命令名之间切换。 - 按`Shift + >`或`Shift + <`(即按住Shift再按>或<键):向右或向左移动字段,这样可以将COMMAND列移到更合适的位置,或者扩展其显示宽度(实际上,top中可以通过调整字段的显示顺序和宽度来让COMMAND显示更多内容)。 3. 另外,我们也可以按`f`键进入字段管理界面,然后通过按方向键选择COMMAND列,再按`d`键或空格键来显示或隐藏该列(但通常COMMAND列是默认显示的,所以这里主要是调整其他列来为COMMAND列腾出空间)。 4. 在字段管理界面(按`f`进入),我们还可以调整列的宽度:选中COMMAND列,然后按`+`键增加宽度,按`-`键减少宽度。 但是,需要注意的是,默认情况下COMMAND列可能显示的是命令的简短形式(例如,只显示程序名而不参数)。按`c`键可以切换显示完整的命令行(包括参数)。 示例步骤: 1. 运行`top`。 2. 按`c`:此时COMMAND列会显示完整的命令行(包括参数),再次按`c`则切换回只显示命令名。 3. 如果完整命令行太长,屏幕上显示不全,我们可以: - 按`f`进入字段选择界面。 - 用方向键移动到`COMMAND`列(或`Command`,具体名称可能略有不同)。 - 按`+`键增加该列的宽度(可能需要多次按)。 - 按回车返回主界面。 另外,我们也可以使用`-c`选项在启动top时直接显示完整命令行: ```bash top -c ``` 这样,启动后COMMAND列就会显示完整的命令(包括参数)。 总结: 要显示完整的进程名称(包括参数): - 启动时:使用`top -c` - 交互操作:在top运行中按`c`键 要调整COMMAND列的宽度: - 在top运行中按`f`键,然后选择COMMAND列,用`+`增加宽度,用`-`减少宽度,然后按回车确认。 注意:调整列宽度并不会永久保存,下次启动top时恢复默认。 引用[1]提到top接受键盘命令,如`h`(帮助)和`q`(退出)[^1],我们可以通过帮助(在top中按`h`)查看更多命令。 因此,用户的问题“如何在top命令中显示进程名称”实际上在默认情况下已经显示,但可能因为截断而看不全,通过上述方法可以调整显示完整名称和参数。 示例输出: 在调整后,COMMAND列可能会显示如下完整信息: ``` COMMAND /usr/lib/firefox/firefox -contentproc -childID 6 -isForBrowser -prefsLen 1 -prefMapSize 223 ``` 而默认情况下可能只显示`firefox`。 相关问题: 1. 如何在top命令中按内存占用排序? 2. 如何让top命令只显示某个用户的进程? 3. 如何将top命令的输出保存到文件? 4. 如何通过命令行参数设置top的刷新间隔?</think>在 `top` 命令中,**进程名称**默认显示在 `COMMAND` 列中。以下是详细操作方法: ### 查看进程名称的两种方式 #### 方法一:启动时直接显示完整命令(推荐) ```bash top -c ``` - **效果**:`COMMAND` 列会显示完整的进程名称和启动参数(例如 `/usr/bin/python3 app.py`) - **原理**:`-c` 参数强制显示完整命令行[^1] #### 方法二:交互模式切换显示 1. 启动基础 `top`: ```bash top ``` 2. 进入交互界面后: - 按 `c` 键:**切换完整命令名与程序名** (例如 `nginx` → `/usr/sbin/nginx -g daemon off;`) - 按 `f` 键 → 方向键选中 `COMMAND` → 按 `d` 或空格键:**显示/隐藏该列** - 按 `Shift + >` 或 `Shift + <`:**调整列宽度**(使长进程名完整显示) ### 示例输出 ``` PID USER %CPU %MEM COMMAND 1234 appuser 5.2 1.8 /usr/bin/python3 /opt/app/server.py 5678 dbuser 2.1 4.3 postgres: wal writer process ``` - `COMMAND` 列明确显示进程名称和路径[^3] ### 关键说明 1. **默认行为**: - 未加 `-c` 时,通常只显示程序名(如 `python3`) - 添加 `-c` 后显示完整命令行(包含参数) 2. **特殊进程**: - 内核线程显示在方括号中(如 `[kworker/0:0]`) - 容器化进程可能显示容器运行时命令(如 `containerd-shim`) > 引用[1]提到 `top` 支持丰富的键盘命令(如 `c` 和 `f`),可用于控制显示字段[^1]。引用[3]说明进程是程序的运行实例,其名称由 `COMMAND` 列标识[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值