linuxfree命令单位
linuxfree命令单位详细介绍
在 Linux 中,free 命令用于显示系统内存(包括物理内存和交换空间)的使用情况。其输出单位可以通过选项调整,以下是详细说明:
1. 默认单位
- 不加任何选项时,
free的默认单位是 千字节(KB),具体取决于系统架构和free版本(早期版本可能以页为单位,但现代系统普遍默认用 KB)。
示例输出(部分字段):plaintexttotal used free shared buff/cache availableMem: 8161600 3406944 2354424 14356 2400232 3801780
Swap: 8388604 0 8388604
这里的数值单位均为 KB(如
8161600 KB ≈ 7.8 GB)。
2. 常用单位选项
通过以下选项可显式指定单位,或使用更易读的格式:
(1)人类可读格式(推荐)
-h或--human:自动选择合适的单位(KB/MB/GB),带符号(如1.2G)。
示例:plaintext$ free -htotal used free shared buff/cache available
Mem: 7.8G 3.2G 2.2G 14M 2.3G 3.6G
Swap: 8.0G 0B 8.0G
(2)指定具体单位
-b:字节(Byte)-k:千字节(KB,默认等价于不加选项)-m:兆字节(MB)-g:吉字节(GB)示例(以 MB 为单位):
plaintext$ free -mtotal used free shared buff/cache available
Mem: 7970 3326 2298 14 2345 3703
Swap: 8192 0 8192
3. 输出字段说明
无论单位如何,free 的输出字段含义一致(以 -h 为例):
- Mem:物理内存
total:总内存used:已用内存(used = total - free - buff/cache)free:未使用且未被缓存的内存shared:多个进程共享的内存(如共享库)buff/cache:缓冲区(buffer)和缓存(cache)占用的内存(用于加速文件 I/O)available:可用内存(free + buff/cache中可被程序立即使用的部分)
- Swap:交换空间(虚拟内存)
4. 总结
- 推荐使用
free -h:直观显示 GB/MB 级单位,避免手动换算。 - 指定单位:通过
-b/-k/-m/-g强制使用特定单位。 - 默认行为:不加选项时默认用 KB,但不同 Linux 发行版可能略有差异,建议用
-h确保可读性。
如果需要脚本处理内存数据(如监控),可使用 -k/-m 等固定单位,方便程序解析。