Linux系统之free命令的基本使用

举报
江湖有缘 发表于 2025/02/11 15:46:00 2025/02/11
【摘要】 Linux系统之free命令的基本使用

在这里插入图片描述

一、free命令介绍

free 命令是 Linux 系统中用于显示系统内存使用情况的一个工具,它能够报告物理内存(RAM)和交换空间(swap space)的总量、已用量、空闲量等信息。

二、free命令的使用帮助

2.1 free命令的帮助信息

在命令行终端中,我们使用–help`选项查free命令的基本帮助信息。

root@jeven01:~# free --help

Usage:
 free [options]

Options:
 -b, --bytes         show output in bytes
     --kilo          show output in kilobytes
     --mega          show output in megabytes
     --giga          show output in gigabytes
     --tera          show output in terabytes
     --peta          show output in petabytes
 -k, --kibi          show output in kibibytes
 -m, --mebi          show output in mebibytes
 -g, --gibi          show output in gibibytes
     --tebi          show output in tebibytes
     --pebi          show output in pebibytes
 -h, --human         show human-readable output
     --si            use powers of 1000 not 1024
 -l, --lohi          show detailed low and high memory statistics
 -t, --total         show total for RAM + swap
 -s N, --seconds N   repeat printing every N seconds
 -c N, --count N     repeat printing N times, then exit
 -w, --wide          wide output

     --help     display this help and exit
 -V, --version  output version information and exit

For more details see free(1).

2.2 free命令帮助解释

选项 描述
-b, --bytes 显示字节单位的内存使用量
--kilo 显示千字节(KB)单位的内存使用量
--mega 显示兆字节(MB)单位的内存使用量
--giga 显示吉字节(GB)单位的内存使用量
--tera 显示太字节(TB)单位的内存使用量
--peta 显示拍字节(PB)单位的内存使用量
-k, --kibi 显示KiB单位的内存使用量
-m, --mebi 显示MiB单位的内存使用量
-g, --gibi 显示GiB单位的内存使用量
--tebi 显示TiB单位的内存使用量
--pebi 显示PiB单位的内存使用量
-h, --human 自动选择合适的单位显示数值,使输出更易读
--si 使用1000的幂次而非1024来计算单位
-l, --lohi 显示详细的低和高内存统计信息
-t, --total 在输出的最后一行添加一个总计条目,包括所有RAM和swap的总和
-s N, --seconds N 每隔N秒刷新一次输出
-c N, --count N -s一起使用时,指定刷新的次数为N次后退出
-w, --wide 使用宽输出格式

其他选项:

  • --help:显示帮助信息并退出
  • -V, --version:显示版本信息并退出

三、free命令的基本使用

3.1 显示内存使用情况

使用-h选项,显示当前系统的内存情况,如下所示:

root@jeven01:~# free -h
               total        used        free      shared  buff/cache   available
Mem:           7.8Gi       317Mi       6.0Gi       1.0Mi       1.4Gi       7.2Gi
Swap:          4.0Gi          0B       4.0Gi
列名 描述
total 系统中物理内存或交换空间的总量。对于上面的例子,系统总共有7.8GiB的RAM和4.0GiB的swap。
used 已经被应用程序和其他系统进程占用的内存量。例如,317MiB的RAM正在被使用。
free 完全未使用的内存量。这意味着没有任何数据存储在此内存中的空闲量。如例子中的6.0GiB RAM。
shared 被多个进程共享的内存总量,通常是tmpfs(基于内存的文件系统)的大小。在这个例子中只有1.0MiB。
buff/cache 用于文件系统缓存和缓冲区的内存量。这部分内存可以在需要时迅速释放给其他应用,当前为1.4GiB。
available 在不影响系统性能的情况下可以分配给新进程的大约内存量。这个值考虑了buffers/cached的内容,它通常比"free"更准确地反映有多少内存可用于启动新应用,本例中为7.2GiB。

对于 Swap:

  • Swap total: 系统配置的交换空间总量,在此示例中为4.0GiB。
  • Swap used: 当前已经使用的交换空间量,这里是0字节(0B),意味着没有活动的应用程序溢出到交换空间。
  • Swap free: 可用的交换空间量,即尚未使用的部分,这里全部可用,为4.0GiB。

3.2 新增总计条目

使用-t选项,在输出的最后一行添加一个总计条目,包括所有RAM和swap的总和。

root@jeven01:~# free -th
               total        used        free      shared  buff/cache   available
Mem:           7.8Gi       317Mi       6.0Gi       1.0Mi       1.4Gi       7.2Gi
Swap:          4.0Gi          0B       4.0Gi
Total:          11Gi       317Mi        10Gi

3.3 显示内存详细信息

使用-l选项,可以显示详细的低和高内存统计信息。

root@jeven01:~# free -lh
               total        used        free      shared  buff/cache   available
Mem:           7.8Gi       321Mi       6.0Gi       1.0Mi       1.4Gi       7.2Gi
Low:           7.8Gi       1.7Gi       6.0Gi
High:             0B          0B          0B
Swap:          4.0Gi          0B       4.0Gi

四、注意事项

  1. 使用 free 命令时,推荐加上 -h 选项以获得人类易读的内存大小单位显示。

  2. buff/cache 列中的内存可以在需要时迅速释放给应用程序,因此它也是可用内存的一部分。

  3. available 列提供了比 free 列更准确的可用内存估算,特别是在系统使用了大量缓存的情况下。

  4. used 列的值接近 total 列时,可能表明系统内存不足,考虑增加物理内存或优化应用以减少内存使用。

  5. 如果 Swap used 的值非零且持续增长,这可能是内存压力的一个信号,应检查是否有内存泄漏或考虑调整交换空间的大小。

  6. 在解释 free 命令输出时,请注意不同版本的 Linux 发行版和 free 工具可能会有略微不同的列名和输出格式。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。