一、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命令
每天一个linux命令(44):top命令 - peida - 博客园 (cnblogs.com)https://www.cnblogs.com/peida/archive/2012/12/24/2831353.html
3、swap交换分区介绍:
????????SWAP即交换分区是一种类似于Windows系统虚拟内存的功能,将一部分硬盘空间虚拟成内存来使用,从而解决内存容量不足的情况,因为SWAP毕竟是用硬盘资源虚拟的,所以速度上比真实物理内存要慢很多,一般只有当真实物理内存耗尽时才会调用SWAP。
? ? ? 参考文章:怎么创建swap区,此处不做过多解释swap交换分区_一片西瓜真甜的博客-CSDN博客_swap交换分区虚拟内存:将硬盘的一部分空间当作内存来使用。用来缓解物理内存不足的问题。SWAP即交换分区是一种类似于Windows系统虚拟内存的功能,将一部分硬盘空间虚拟成内存来使用,从而解决内存容量不足的情况,因为SWAP毕竟是用硬盘资源虚拟的,所以速度上比真实物理内存要慢很多,一般只有当真实物理内存耗尽时才会调用SWAP。一、使用文件构建swap应用场景:硬盘已经没有剩余空间来创建swap分区时,在硬盘上创建一个swap文件来充当swap分区。1、使用dd这个命令来创建一个128M的文件在/opt目录中:https://blog.csdn.net/qq_37377136/article/details/106979909
二、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)
|