当我检查 Linux 系统(或者甚至对运行其他操作系统的计算机进行故障排除)时,我经常使用 top 命令来检查系统的 RAM 和 CPU 占用率。它为我提供了评估计算机整体健康状况的信息。我在 Linux 之旅的早期就了解了 top 命令,并依靠它让我快速了解服务器或其他 Linux 系统(包括 Raspberry Pi)上正在发生的事情。但 top 命令远比人们看到的要复杂得多。根据其手册页,top 程序提供了正在运行的系统的动态实时视图。它可以显示系统摘要信息以及当前由 Linux 内核管理的进程或线程列表。

1、启动top

2、top 参数信息:

上述输出信息中,开头的部分显示了系统任务(Tasks)、CPU占用、内存占用(Mem)、交换空间(Swap)等汇总信息,汇总信息下方依次显示当前进程的排名情况。相关信息的含义表述如下。 uptime:17:14:30 当前时间

up 1days :系统运行时间,说明此服务器连续运行 1天了

4 user:当前登录用户数

load average: 0.00,0.01.0.03系统负载,即任务队列的平均长度。三个数值分别为1分钟、5分钟、15分钟前到现在的平均值。

系统任务(Tasks)信息:total:总进程数;                                                                                  running:正在运行的进程数;                                                                                                        sleeping:休眠的进程数;                                                                                                               stopped:中止的进数;                                                                                                                    zombie:僵死无响应的进程数。

CPU占用信息:                                                                                                                                 us: 用户占用                                                                                                                              sy:内核占用;                                                                                                                               ni:优级调度占用;                                                                                                                        id:空闲CPU;                                                                                                                         wa:I/O等待占用;                                                                                                                            hi:硬件中断占用;                                                                                                                             si:软件中断占用;                                                                                                                             st:虚拟化占用。                                                                                                                               要了解空闲的CPU百分比,主要看%id部分

内存占用(Mem)信息:                                                                                                                    total:总内存空间:                                                                                                                             free:空闲内存;                                                                                                                              used:已用内存;                                                                                                                     buff/cache:物理内存和交换内存的缓冲区总和。

交换空间(Swap)占用:                                                                                                                 total:总交换空间;                                                                                                                           free:空闲交换空间;                                                                                                                  used:已用交换空间                                                                                                                        avail Mem:可用物理空间。

1.2详细说明

(1)Tasks:240 total进程总数

1 running 正在运行的进程数

240sleeping睡眠的进程数

1 stopped 停止的进程数

0 zombie 僵尸进程数

Cpu(s):0.01%us系统用户进程使用CPU百分比。

0.00%sy内核中的进程占用CU百分比优先级调度占用

0.00%ni用户进程空间内改变过优先级的进程占用CPU百分比

99.9%号 id 空闲CPU百分比

0.0wa :是cpu 等待 /0 完成的时间总量。

(2)KIBMem:3861508 total 物理内存总量

798428 used使用的物理内存总量

2176632 free 空闲内存总量

886448 buff/cache用作内核缓存的内存量。和free-k一个意思

(3)KIBSwap:8191996 total交换区总量

0 used 使用的交换区总量

8191996 free 公闲交换区总量

2719732 availMem 总的可利用内存是多少

3、运行进程信息

PID:进程id

USER: 进程所有者的用户名

PR:优先级

 NI:进程优先级

VIRT:虚拟内存

RES:实际使用的物理内存

SHR:共享内存大小

S:进程状态(D=不可中断的睡眠状态,R=运行中或可运行s=睡眠中,T表示已跟踪以及已停止,z=僵停

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

%MEM:进程使用的物理内存百分比

TIME+: 进程使用的cpu时间总计

COMMAND:命令名/命令行

4、基本操作

按z可更改top追踪的颜色,使追踪过程更醒目

 1键可查看系统上每个 CPU 内核的图形表示。反复按1以评估 CPU 内核的内核统计信息

 过调用top命令然后按m键以图形方式显示内存使用情况。

 5、top参数用法

(1)[root@fbc ~]# top -u 'root'  #查看特定用户启动的进程

 (2)[root@fbc ~]# top -i   #换取系统上的空闲进程列表,使用-i选项

(3)[root@fbc ~]# top -d 4   # -d 4 表示每4秒检查一次默认值为3.

(4)用 top 定位一个进程

按Shift+L按名称查找进程。这会在粗体表标题行上方创建1一个提示。输入您要查找的进程的名称,然后按Enter或Return以查看在新排序的进程列表中高亮显示该进程的实例

 (5)使用top停止进程

您也可以使用 top 停止或“kill”正在运行的进程。首先,使用 Shift+L 或找到要停止的进程 pgrep。接下来,按 K 并输入要停止的进程 ID。默认值是列表顶部的任何值,因此请确保在按 Enter 之前输入要停止的 PID ,否则您可能会停止您不打算停止的进程。

 6、top实例用法

(1)获取要监控的本地服务器IP地址

[root@fbc ~]# ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'

 (2)获取用户空间占用CPU百分比

[root@fbc ~]# top -b -n 1 | grep Cpu | awk '{print $2}' | cut -f 1 -d "%"

(3)获取内核空间占用CPU百分比

[root@fbc ~]# top -b -n 1 | grep Cpu | awk '{print $4}' | cut -f 1 -d "%" 

 (4) 获取空闲CPU百分比

[root@fbc ~]# top -b -n 1 | grep Cpu | awk '{print $8}' | cut -f 1 -d "%"

 (5) 获取等待输入输出占CPU百分比

[root@fbc ~]# top -b -n 1 | grep Cpu | awk '{print $10}' | cut -f 1 -d "%"

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐