free
命令:显示Linux系统中物理内存、buffer/cache、swap的使用情况。
virtual-machine:~$ free
total used free shared buffers cached
Mem: 1025140 747140 278000 0 117244 301936
-/+ buffers/cache: 327960 697180
Swap: 1046524 0 1046524
virtual-machine:~$ free -m
total used free shared buffers cached
Mem: 1001 729 271 0 114 294
-/+ buffers/cache: 320 680
Swap: 1021 0 1021
其他用法 -h -t -o -l -V
解读:
- Mem 行
total: 物理内存大小。
used: 已使用的内存大小。
free: 尚未分配使用的内存大小。
shared: 共享内存大小。
buffers/cached: 缓冲区和缓存占用的内存大小。
此行将buffers/cached(缓冲区和缓存)占用的内存算在内存的使用量里面。
- -/+ buffers/cache 行
used: 程序已使用的内存大小。(Mem.used - (Mem.buffers+Mem.cached))
free: 可使用的内存大小。 (Mem.free + (Mem.buffers+Mem.cached))
此行buffers/cached(缓冲区和缓存)占用的内存不算在内存的使用量里面。
buffer/cached作用: 简单的说,从磁盘读取到内存的数据在被相关应用程序读取后,如果有剩余内存,则这部分数据会存入cache,以备第2次读取时,避免重新读取磁盘。当一个应用程序在内存中修改过数据后,因为写入磁盘速度相对较低,在有空闲内存的情况下,这些数据先存入buffer,在以后某个时间再写入磁盘,从而应用程序可以继续后面的操作,而不必等待这些数据写入磁盘的操作完成。
buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached所占得内存会很快地被回收,所以对于应用程序来说,buffers/cached所占的内存部分是完全可用的。
- Swap 行
虚拟内存使用量
交换分区总量 、使用量 、剩余量
由系统把相关数据从磁盘读取到内存,如果物理内存不够,则把内存中的部分数据导入到磁盘,从而把磁盘的部分空间当作虚拟内存来使用,也称为Swap。
参考了:
- 1 https://blog.csdn.net/bingqingsuimeng/article/details/51858858
- 2 https://mp.weixin.qq.com/s?src=11×tamp=1554107070&ver=1519&signature=THUcgFt7UET4P5DLIyHqpa5GbS5eENSmsmnL9ZRjlSM6YUa1juO-33SMBGozZZbIuk1-t946XTntr1yIf2CDshNi8W2-M*23qR5RydV6b6d60cp4sUocSW6HojnOLazQ&new=1
- 3 https://mp.weixin.qq.com/s?src=3×tamp=1554107070&ver=1&signature=EAJiDLQkSR9ZeiKNJ9sNybZwSBoLkuAmSsF6ydQe3QPVMQjQwdtIMM2T4bp0V5r1RcUxQw4KBARJqaAWbsK3Ytwr2mvU8Vq3T4X03Os35WsvncDH9Gefpf6Vy6Va3hd2xZWqgjT6IiJNWFS0gUAl*bmhYMl3dPTKPuyOkrCjs=