TOP
在 Linux 系统中,top
命令是一个强大的实时系统监控工具,用于显示当前系统的进程信息、CPU 使用率、内存使用率等。
通过不同的选项,您可以定制 top
命令的输出,以满足特定的监控需求。
常用选项:
-
-d seconds
:指定屏幕刷新间隔时间,单位为秒。默认值为 3 秒。
例如,top -d 5
每 5 秒刷新一次。 -
-u username
:仅显示指定用户名的进程信息。
例如,top -u root
只显示 root 用户的进程。 -
-p pid1,pid2,...
:仅显示指定进程 ID 的进程信息。
例如,top -p 1234,5678
只显示进程 ID 为 1234 和 5678 的进程。 -
-i
:忽略闲置(idle)和僵尸(zombie)进程。
例如,top -i
只显示活跃的进程。 -
-c
:显示完整的命令行信息,而不仅仅是命令名。
例如,top -c
显示完整的命令行。 -
-H
:显示线程信息。
例如,top -H
显示每个线程的详细信息。 -
-M
:按内存使用率排序。
例如,top -M
按内存使用率排序显示进程。 -
-P
:按 CPU 使用率排序。
例如,top -P
按 CPU 使用率排序显示进程。 -
-n
:指定要显示的进程数量。
例如,top -n 10
显示前 10 个进程。
交互式命令:
在 top
命令的交互模式下,您可以使用以下快捷键进行操作:
P
:按 CPU 使用率排序。M
:按内存使用率排序。N
:按进程 ID 排序。T
:按累计时间排序。k
:向指定进程发送信号,例如终止进程。r
:调整进程的优先级(即改变进程的 nice 值)。q
:退出top
命令。
示例:
-
显示所有进程,并每 5 秒刷新一次:
top -d 5
-
仅显示 root 用户的进程:
top -u root
-
显示进程 ID 为 1234 和 5678 的进程:
top -p 1234,5678
-
显示完整的命令行信息:
top -c
-
显示线程信息:
top -H
-
按内存使用率排序:
top -M
-
按 CPU 使用率排序:
top -P
-
显示前 10 个进程:
top -n 10
通过合理使用 top
命令的选项和交互式命令,您可以有效地监控和管理系统的性能和进程信息。
进程状态
Cpu(s):
us 用户空间占用CPU百分比
sy 内核空间占用CPU百分比
ni 用户进程空间内改变过优先级的进程占用CPU百分比
id 空闲CPU百分比
wa 等待输入输出的CPU时间百分比
hi 硬中断(Hardware IRQ)占用CPU的百分比
si 软中断(Software Interrupts)占用CPU的百分比
st (Steal time) 是当 hypervisor 服务另一个虚拟处理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比。
top命令是最常用的性能分析工具,它可以实时监控系统状态,输出系统整体资源占用状况以及各个进程的资源占用状况
linux top命令VIRT,RES,SHR,DATA的含义
内存
在 Linux 系统中,监控内存使用情况对于系统性能优化和故障排查至关重要。
以下是使用 ps
和 top
命令查看内存使用情况的详细方法:
1. 使用 ps
命令查看内存使用情况:
ps
命令用于列出当前系统中正在运行的进程信息。
要查看内存使用情况,可以使用以下命令:
ps aux --sort=-%mem | head -n 11
此命令的含义如下:
ps aux
:列出所有进程的详细信息,包括进程的 PID(进程号)、USER(进程所有者)、%CPU(CPU 使用率)、%MEM(内存使用率)等。--sort=-%mem
:按照内存使用率降序排序。head -n 11
:显示前 11 行,其中第一行是标题,后 10 行是内存使用最高的进程。
通过此命令,您可以快速识别出占用内存最多的进程。
2. 使用 top
命令实时监控内存使用情况:
top
命令是一个动态显示系统进程信息的工具,适用于实时监控系统资源。
要查看内存使用情况,可以按照以下步骤操作:
-
启动
top
命令:top
-
在
top
界面中,按下Shift + M
键,按照内存使用率对进程进行排序。这将使占用内存最多的进程显示在顶部,方便您快速识别内存占用高的进程。
-
要退出
top
命令,按下q
键。
通过上述方法,您可以有效地监控和管理系统的内存使用情况,及时发现和处理内存占用异常的进程。