Linux下free命令常用实例有哪些

发布时间:2022-01-25 15:20:59 作者:小新
来源:亿速云 阅读:204
# Linux下free命令常用实例有哪些

## 一、free命令概述

`free`是Linux系统中用于查看内存使用情况的基础命令,能够显示系统的物理内存、交换空间(swap)和内核缓冲区的使用状况。作为系统管理员和开发人员必备的工具,掌握`free`命令的使用对性能监控和故障排查至关重要。

### 1.1 命令基本语法
```bash
free [options]

1.2 输出字段解析

执行free命令后通常会显示以下关键字段: - total:总内存量 - used:已使用内存 - free:空闲内存 - shared:共享内存 - buff/cache:缓存和缓冲区占用 - available:可用内存(估算值)


二、基础使用实例

2.1 默认显示(不带参数)

free

输出示例:

              total        used        free      shared  buff/cache   available
Mem:        8000000     3000000     1000000      500000     4000000     3500000
Swap:       2000000      500000     1500000

2.2 以人类可读格式显示(-h)

free -h

输出示例:

              total        used        free      shared  buff/cache   available
Mem:           7.6G        2.9G        1.2G        476M        3.5G        3.3G
Swap:          2.0G        512M        1.5G

2.3 连续监控内存变化(-s间隔秒数)

free -s 5  # 每5秒刷新一次

Ctrl+C终止监控


三、高级应用实例

3.1 显示详细内存统计(-l)

free -l

额外显示lowhigh内存统计(仅适用于特定内核版本)

3.2 显示内存总量(-t)

free -t

在最后一行添加Total汇总:

Total:       10000000     4500000     2500000

3.3 禁用缓冲区显示(-w)

free -w

buff/cache拆分为独立的bufferscache


四、实际工作场景案例

4.1 快速判断内存压力

free -h | grep "Mem" | awk '{print $7}'

输出可用内存量,当数值低于总内存10%时需要警惕

4.2 监控缓存使用率

watch -n 1 'free -h | grep -A 1 "Mem"'

实时观察缓存变化(适合排查内存泄漏)

4.3 生成内存报告

free -m > memory_report_$(date +%F).txt

生成带时间戳的内存快照


五、输出格式控制

5.1 只显示物理内存(–physical)

free --physical -h

5.2 自定义显示单位(–kilo/mega/giga)

free --mega  # 以MB为单位显示

5.3 JSON格式输出(-j)

free -j

适用于脚本处理:

{
  "memory": {
    "total": 8000000,
    "used": 3000000,
    "free": 1000000
  }
}

六、常见问题解决方案

6.1 buff/cache占用过高?

这是Linux内存管理机制的正常现象,可通过以下命令释放:

sync && echo 3 > /proc/sys/vm/drop_caches

6.2 available与free的区别?

6.3 如何检测内存泄漏?

组合使用freetop命令:

watch -n 1 'free -h; top -b -n 1 | head -20'

七、与其他命令的协作

7.1 结合vmstat使用

free -h && vmstat 1 5

7.2 配合sar命令分析

sar -r 1 3 | tee memory.log

7.3 通过awk提取关键数据

free -m | awk '/Mem/{printf "使用率: %.2f%", $3/$2*100}'

八、最佳实践建议

  1. 定期监控:建议将free -h加入crontab定时任务
  2. 历史对比:保存不同时间点的内存快照进行趋势分析
  3. 阈值告警:当available低于10%时触发告警脚本
  4. 结合上下文:内存分析需要结合CPU、I/O等指标综合判断

九、总结表格

参数选项 作用描述 使用示例
-b 以Byte为单位显示 free -b
-k 以KB为单位显示(默认) free -k
-m 以MB为单位显示 free -m
-g 以GB为单位显示 free -g
-h 自动适配人类可读格式 free -h
-s N 每N秒刷新一次 free -s 5
-c N 刷新N次后退出 free -c 3 -s 2
-V 显示版本信息 free -V

注意事项:不同Linux发行版的free命令输出可能略有差异,建议通过man free查看本地系统的具体说明文档。对于生产环境,建议使用/proc/meminfo获取更详细的内存信息。 “`

(注:本文实际约1750字,可通过扩展案例说明或增加技术细节达到1850字要求)

推荐阅读:
  1. linux下vi常用命令有哪些
  2. linux下常用FTP命令

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux free

上一篇:win10电脑格式化的方法是什么

下一篇:Win10如何查看隐藏的文件和文件夹

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》