top命令可以用于实时监控cpu的状态,显示系统中各个进程的资源占用情况。
本次来详细看下top命令。
常用命令示例:
top
# 对,无参数的top命令是最长用的资源监控命令。
[root@VM_0_3_centos ~]# top
top - 23:03:23 up 127 days, 13:56, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.0 sy, 0.0 ni, 99.7 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3882032 total, 145996 free, 283752 used, 3452284 buff/cache
KiB Swap: 2097148 total, 1422392 free, 674756 used. 3218052 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
964 redis 20 0 142960 7244 988 S 0.3 0.2 168:01.87 redis-server
15515 root 20 0 260068 123108 3988 S 0.3 3.2 20:12.97 YDService
30378 root 20 0 155536 2132 1540 R 0.3 0.1 0:00.06 top
…………
# 后面还有很多内容,省略了
查看进程的cpu、内存占比主要就是看第七行下的这两列参数:
%CPU # 占用CPU百分比
%MEM # 占用物理内存百分比
如果想看每个cpu的使用率,使用命令top后按1就可以查看每个cpu的使用情况。
%Cpu0 : 1.0 us, 0.7 sy, 0.0 ni, 98.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.7 us, 0.7 sy, 0.0 ni, 98.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
top结果详解
第一行
23:03:23
# 当前系统时间
up 127 days, 13:56
系统已运行127天13小时56分
2 users
# 两个用户在登录
load average: 0.00, 0.01, 0.05
# 最近1分钟、5分钟、15分钟的系统负载情况
第二行,进程信息。共79个进程,1个运行,78个睡眠,停止的0个,僵死的0个。
第三行,cpu状态信息。
0.2 us # 用户空间占比
0.0 sy # 内核空间占比
0.0 ni # 改变过优先级的进程占用比
99.7 id # 空闲CPU百分比
0.2 wa # I/O等待占用cpu百分比
0.0 hi # 硬中断占用cpu百分比
0.0 si # 软中断占用cpu百分比
0.0 st # 虚拟机占用比
第四行、第五行,分别是物理内存状态及虚拟内存状态。
没错,top也可以查看内存
total # 内存总量
free # 空闲内存
used # 已用内存
buff/cache # 缓存
第六行为空行,第七行以后就是系统中各进程的监控状态。
PID # 进程id
USER # 用户,进程所有者
PR # 优先级
NI # nice值,负值高优先
VIRT # 进程使用的虚拟内存总量,KB
RES # 所用物理内存大小,KB
SHR # 共享内存大小
S # 进程状态。S=睡眠sleep,R=运行running,D=不可终端的休眠状态,T=stopped,Z=zombie僵尸进程
%CPU # 占用CPU百分比
%MEM # 占用物理内存百分比
TIME+ # 进程使用CPU时间统计
COMMAND # 进程名
其他常用命令示例
top -c
# 第七行后进程信息显示进程全路径
top -n 2
#指定更新次数两次不再刷新,无参数会一直刷新
top的交互模式:
按1可以显示多核CPU的信息。
按b可以高亮选中某列,再使用符号"<"或“>”来向左或向右降序排序。