free -h buff 跟cache
时间: 2024-09-03 19:05:17 浏览: 86
`free` 命令是 Linux 系统中用来查看内存使用情况的一个工具。它会显示系统物理内存、交换空间(swap)和缓冲/缓存的使用量。具体来说,`free -h` 是使用 `free` 命令时的一个选项,其中 `-h` 代表 "human-readable",即以易于阅读的格式(如 KB、MB、GB)显示信息。
当执行 `free -h` 命令时,你可能会看到像这样的一些列输出:
```
total used free shared buff/cache available
Mem: 7.7Gi 2.2Gi 3.3Gi 171Mi 2.2Gi 5.2Gi
Swap: 2.0Gi 183Mi 1.8Gi
```
在这里,`buff/cache` 列显示的是内核用作缓冲(buffer)和缓存(cache)的内存总量。缓冲(buffer)是临时存储数据,以便在不同进程间传递,而缓存(cache)则是用于提高磁盘读写速度的。
- **Buffer**: 是用来给块设备的扇区做缓冲的内存区域,主要是用来临时存储从磁盘读出的数据或准备写入磁盘的数据。
- **Cache**: 则通常是用来保存最近被访问过的文件的副本,当系统需要读取文件时,内核会先检查这个文件是否在cache中,如果是,那么就直接使用cache中的数据,这样可以加快文件的读取速度。
`buff/cache` 列中的数值高,并不一定意味着系统的可用内存不足。实际上,Linux 系统会动态地管理这部分内存,当有新的内存需求时,内核会减少缓冲/缓存的大小来释放内存给其他进程使用。因此,这部分内存在空闲时帮助提升系统性能,而在内存紧张时可以被释放。
阅读全文