free
功能
显示系统使用和空闲的内存情况,包括物理内存和交互区内存(swap)和内核缓冲区内存
option参数
-b 以Byte为单位显示内存使用情况
-k 以KB为单位显示内存使用情况
-m 以MB为单位显示内存使用情况
-g 以GB为单位显示内存使用情况
-o 不显示缓冲区调节列
-s<间隔秒数> 持续观察内存使用状况
-t 显示内存总和列
-V 显示版本信息
读者可以使用man free或者free -help查看完整参数列表。
样例
这边关注第二行的swap的used指标,如果使用的值较大,则表示系统的内存处于不够使用的情况
为何swap used是一个指标
swap又称为交换分区,当系统的内存小于额定值的时候,内核(OS)会将系统的一部分物理内存释放出来用于当前线程的使用,一般是很久没有操作过的程序会被释放,释放的物理内存被放入到交换区,然后等当前线程执行完毕,内存富余时重新放入物理内存。1
2
3
4
5
6
7
8
9
10例如:物理内存,交换区,当前线程,进程x(目前存在于物理内存中)
1.当前线程 向 物理内存 申请执行所需的内存空间
2.物理内存 发现没有空间了 查找到 进程x 很久没有操作过
3.物理内存 将 进程x 释放到 交换区
4.物理内存 说 嘿 当前线程 你可以进来执行了
5.当前线程 执行完毕 嘿 我执行完了 让那哥们进来吧
6.物理内存 将 进程x 重新载入
以上就是简略的过程。