Linux命令(1)top
Linux的top命令用于实时显示所有的进程的动态,经常用于性能分析,类似于Windows里面的任务管理器。
使用方法
可以直接使用输入top
,不用任何参数。
1 | top |
下面介绍一下输出的内容。
第一行:
1 | top - 20:59:04 up 453 days, 3:57, 1 user, load average: 0.12, 0.15, 0.13 |
20:59:04
当前系统时间453 days, 3:57
系统运行时间453天3小时57分钟1 user
当前有1歌用户登录系统load average: 0.12, 0.15, 0.13
后面三个数分别是1分钟、5分钟、15分钟的负载情况
load average
是Linux系统的负载平均值。
负载衡量的是Linux系统中task对系统的需求(比如CPU、内存、IO等),负载越高,说明系统中运行的任务对系统资源的需求越多,也就是工作量越大。
一般这个值记录在/proc/loadavg
文件里面,用户态的工具(uptime、top等)读的都是这个文件。
如果1分钟平均值高于5分钟,5分钟高于15分钟,则负载正在增加;反之就是减少。
如果负载平均值高于系统CPU的数量,系统很可能遇到了性能问题。
第二行:
1 | Tasks: 206 total, 1 running, 134 sleeping, 0 stopped, 0 zombie |
206 total
系统一共206个进程1 running
1个进程正在运行134 sleeping
134个进程在休眠0 stopped
stopped状态的有0个0 zombie
僵尸状态的进程有0个
第三行:
1 | Cpu(s): 0.9 us, 0.3 sy, 0.0 ni, 98.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st |
这一行显示CPU的状态。
0.9 us
user 用户空间占用CPU百分比0.3 sy
system 内核空间占用CPU百分比0.0 ni
nice 改变过优先级的进程占用CPU的百分比98.8 id
idle 空闲CPU百分比0.0 wa
waiting IO等待占用CPU的百分比0.0 hi
Hardware IRQ 硬中断占用CPU的百分比0.0 si
Software IRQ 软中断占用CPU的百分比0.0 st
被Hypervisor消耗掉的CPU的百分比
第四行:
1 | KiB Mem : 16260472 total, 244680 free, 12796476 used, 3219316 buff/cache |
内存状态
16260472 total
物理总内存 16GB左右244680 free
空闲内存总量 240MB左右12796476 used
使用中的内存总量 12GB左右3219316 buff/cache
缓存的内存总量 3GB左右 用作内核缓存
第五行:
1 | KiB Swap: 0 total, 0 free, 0 used. 3103912 avail Mem |
交换分区信息
0 total
交换区总量0 free
空弦交换区总量0 used
使用的交换区总量3103912 avail Mem
可以用于进程下一次内存分配的内存总量3GB左右