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 running1个进程正在运行
- 134 sleeping134个进程在休眠
- 0 stoppedstopped状态的有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 ususer 用户空间占用CPU百分比
- 0.3 sysystem 内核空间占用CPU百分比
- 0.0 ninice 改变过优先级的进程占用CPU的百分比
- 98.8 ididle 空闲CPU百分比
- 0.0 wawaiting IO等待占用CPU的百分比
- 0.0 hiHardware IRQ 硬中断占用CPU的百分比
- 0.0 siSoftware 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左右