背景

服务器负载过高会影响有数服务,所以知道如何查看服务器负载也是很有必要的

命令讲解

top命令输出如下图:

top命令的使用 - 图1

顶部信息:

系统运行时间:显示系统运行了多久,以及系统的平均负载。

任务:显示当前运行、睡眠、停止和僵尸进程的数量。

%Cpu(s):显示 CPU 的使用情况,包括用户空间、系统空间、空闲和等待 I/O 的百分比。

%Mem:显示内存的使用情况,包括可用和使用的百分比。

Swp:显示交换空间的使用情况。

KB:显示当前的内存使用量(以 KB 为单位)。

MiB:显示当前的内存使用量(以 MiB 为单位)。

GiB:显示当前的内存使用量(以 GiB 为单位)。

TiB:显示当前的内存使用量(以 TiB 为单位)。

进程列表:

PID:进程 ID。

USER:进程所有者。

PR:优先级。

NI:nice 值。

VIRT:虚拟内存使用量(以 KB 为单位)。

RES:常驻内存使用量(以 KB 为单位)。

SHR:共享内存使用量(以 KB 为单位)。

S:进程状态(R 运行,S 睡眠,D 等待 I/O,Z 僵尸进程等)。

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

%MEM:该进程占用的内存使用率。

TIME+:该进程占用的 CPU 时间。

COMMAND:运行的命令名称。

第一行的load average字段表示服务器1min,5min,15min的负载,如果1min的负载过高,代表服务器现在的状态是不正常的,是超负荷工作的。需要看占用cpu多的进程是哪些,来判断是否可以杀掉来降低负载。