top命令详解
一、命令简介
top程序对运行的系统提供一个动态的实时的监控。它能够显示系统的总体信息和一些正被Linux内核管理的任务。
top命令是动态查看进程变化,监控linux的系统状况;它是常用的性能分析工具,能够实时显示系统资源各个进程占用状况,类是windows的任务管理器。
二、参数说明
top - 17:00:40 up 2:15, 3 users, load average: 0.47, 0.65, 1.04 Tasks: 164 total, 2 running, 162 sleeping, 0 stopped, 0 zombie %Cpu(s): 5.4 us, 6.5 sy, 0.0 ni, 87.4 id, 0.2 wa, 0.0 hi, 0.5 si, 0.0 st KiB Mem : 1863104 total, 96564 free, 939648 used, 826892 buff/cache KiB Swap: 0 total, 0 free, 0 used. 691104 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1688 root 20 0 1225580 92556 34856 S 7.3 5.0 8:03.26 kubelet 2298 root 20 0 566456 351000 41284 S 6.6 18.8 9:01.54 kube-apiserver 2309 root 20 0 211888 76492 31244 S 4.7 4.1 5:58.88 kube-controller 2317 root 20 0 10.1g 66000 17268 S 3.0 3.5 3:51.70 etcd 1030 root 20 0 857748 85120 23960 S 2.7 4.6 3:55.27 dockerd 4133 root 20 0 1115796 33104 17580 R 2.3 1.8 5:02.24 calico-node
第一行:资源概览
17:00:40 ——当前时间
up 2:15——系统运行时间
3 users——当前三个用户登陆在线
load average: 0.47, 0.65, 1.04——系统负载,三个数值分别表示1分钟,5分钟,15分钟到现在的平均值;如果是单核心,平均负载不要超过3;
当load averages较高的情况下,说明等待运行的任务比较低多,因此轮到该任务运行的等待时间就会出现较大延迟,然后反应在负载上就成了负载变高;
第二行:运行任务概览
Tasks——服务的进程总数,zombie僵尸进程数;
第三行:CPU概览
%Cpu(s)—— 5.4 us 系统用户进程使用cpu百分比;6.5 sy 内核中进程占用cpu百分比;
0.0 ni 用户进程数空间内,改变过优先级的进程 占用CPU的百分比 ;
87.4 id 空闲cpu百分比
0.2 wa cpu等待IO完成的时间总量
0.0 hi 硬中断占cpu的百分比
0.5 si 软中断占CPU的百分比
0.0 st 虚拟机占用物理机的时间
第四行:内存概览
1863104 total ——物理内存总量
96564 free 空闲内存总量
939648 used 使用的物理内存总量
826892 buff/cache 内核缓存的内存总量
第五行:缓冲区概览
total:交换区总量
free:空闲交换区数量
used:使用交换区数量
第七行:进程概况
PID:进程ID
USER:进程所属用户
PR:当前用户优先级(由内核动态调整)
NI:nice值,负值表示高优先级,正值表示低优先级
VIRT:virtual memory usage 虚拟内存,是进程正在使用的所有内存
RES:resident memory usage 是进程所使用的物理内存
SHR:共享内存大小,单位kb
S:进程状态
CPU%:上次更新到现在的CPU时间占用百分比
MEM%:进程使用的物理内存百分比
TIME+ :进程使用的CPU时间总计,单位1/100秒
COMMAND :命令名/命令行
三、常用的快捷键
s:默认是3s刷新,按s件可以修改刷新时间
P:安装CPU排序
M:安装内存排序
h:帮助信息
T:按照时间排序
四、使用举例
查看kebu用户的进程内存的使用情况
top -u kebu
查看进程为1221的使用情况
top -p 1221