free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
(1)用法:
用法: free [选项参数](2)功能:
功能: free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略。
(3)选项参数:
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-g 以GB为单位显示内存使用情况。
-s 每3秒执行一次free操作
-h(human) 自动将数值转换为人类易读形式
-c(count) 展示结果count次,需与-s配合使用
-s(seconds) 动态刷新内存使用情况的间隔
以人类易读的方式展示,每10秒刷新一次,一共刷新3次
[root@ccd-sdv3 performance]# free -h -c 3 -s 10
total used free shared buff/cache available
Mem: 4.7G 517M 3.4G 64M 805M 3.8G
Swap: 9G 0B 9G
total used free shared buff/cache available
Mem: 4.7G 517M 3.4G 64M 805M 3.8G
Swap: 9G 0B 9G
total used free shared buff/cache available
Mem: 4.7G 517M 3.4G 64M 805M 3.8G
Swap: 9G 0B 9G
[root@ccd-sdv3 performance]#
实例
[root@cicada-dns ~]# free
total used free shared buff/cache available
Mem: 24431236 738940 22253900 195212 1438396 23124472
Swap: 8388604 0 8388604
- A. 程序使用的(used);
- B. 未被分配的(free);
- C. (buffer/cache)
C (Buffers/Cached) 是算作used还是算作free呢?一方面,它们已经被分配了,可以算作used;另一方面,当程序需要时,可以回收它们来使用,可以算作free。所以,怎么算都合理。
扩展
free 命令数据由来
free命令显示了当前系统内存使用情况,其数据取自/proc/meminfo文件。这里我们cat 一下。可见,在这个文件中,数据的存储就是以KB为单位,所以free的默认值也是KB。
[root@ccd-sdv3 performance]# cat /proc/meminfo
MemTotal: 4909988 kB
MemFree: 3555932 kB
MemAvailable: 4014428 kB
Buffers: 177152 kB
Cached: 511280 kB
SwapCached: 0 kB
Active: 608332 kB
Inactive: 477796 kB
Active(anon): 444412 kB
Inactive(anon): 19392 kB
Active(file): 163920 kB
Inactive(file): 458404 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 10485756 kB
SwapFree: 10485756 kB
Dirty: 8 kB
Writeback: 0 kB
AnonPages: 397664 kB
Mapped: 107960 kB
Shmem: 66112 kB
Slab: 136428 kB
SReclaimable: 100024 kB
SUnreclaim: 36404 kB
KernelStack: 5872 kB
PageTables: 23540 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 12940748 kB
Committed_AS: 2613488 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 67431928 kB
VmallocChunk: 34288431100 kB
HardwareCorrupted: 0 kB
AnonHugePages: 163840 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 213852 kB
DirectMap2M: 2863104 kB
DirectMap1G: 2097152 kB
[root@ccd-sdv3 performance]#