一、top命令介绍
Linux top命令用于实时显示 process 的动态:查看内存和cpu的使用情况
1、常用命令参数介绍
top -d 10 | 10s刷新一次 |
top -i | 不显示任何闲置 (idle) 或无用 (zombie) 的进程 |
top -c | 显示完整的路径 |
top -u root | 显示指定用户的进程状态 |
2、命令执行后显示的各个字段解释说明
第1~5行是服务器总的情况
第一行:与uptime命令的执行结果一样
第二行:Tasks 任务(进程)状况统计
第三行:Cpu使用情况
第四行:内存使用情况 total = free + used + buff/cache
第五行:交换区情况 total = free + used
第6行及以后是具体进程的动态
!注意:第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。 对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
参考文章:详细的介绍top命令
3、swap交换分区介绍:
SWAP即交换分区是一种类似于Windows系统虚拟内存的功能,将一部分硬盘空间虚拟成内存来使用,从而解决内存容量不足的情况,因为SWAP毕竟是用硬盘资源虚拟的,所以速度上比真实物理内存要慢很多,一般只有当真实物理内存耗尽时才会调用SWAP。
二、free命令介绍
Linux free命令用于显示内存状态。free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
1、常用命令参数介绍
free -h | 以人可读方式 |
free -g | 以g为单位展示 |
free -t | 统计展示 |
2、命令执行后显示的各个字段解释说明
Mem行指的是真实物理内存使用情况
Swap行指的是交换区内存使用情况
Total行是统计汇总
三、top与free的区别和联系
top命令用于实时显示进程动态,也可以展示整个服务器的内存、cpu使用情况;free只用来显示内存使用情况。top命令比free命令更强大,显示的内容更多;但是如果只是为了查看内存的使用情况,推荐使用free命令,因为它更专一、更详细。
四、可用内存的计算公式
1、free from procps-ng 3.3.10版本
可用内存 = Total free + available
2、procps version 3.2.8版本
可用内存 = Total free + (+ buffers/cache)