linux命令free中swap
linux命令free中swap详细介绍
在 Linux 中,free 命令用于显示系统内存(包括物理内存和交换空间 Swap)的使用情况。以下是关于 free 命令中 Swap 部分的详细说明:
一、Swap 是什么?
Swap(交换空间)是磁盘上的一块区域,当物理内存(RAM)不足时,系统会将部分暂时不活跃的进程数据从内存交换到 Swap 中,以释放物理内存供其他进程使用。它是物理内存的补充,避免因内存不足导致程序崩溃。
二、
free 命令中 Swap 的输出字段
执行 free 命令(通常加 -h 以人类可读格式显示)后,输出包含 Swap 部分,示例如下:
plaintext
total used free shared buff/cache availableSwap: 7.8Gi 1.2Gi 6.6Gi 0.0Ki 0.0Ki 5.8Gi
total:Swap 空间的总大小。used:已使用的 Swap 空间。free:未使用的 Swap 空间。
三、Swap 的作用与注意事项
- 作用:
- 临时扩展内存:当物理内存不足时,充当 “内存缓冲区”,避免进程因内存不足被强制终止(OOM Killer)。
- 休眠支持:允许系统将内存状态写入 Swap 以实现休眠(Hibernate)。
- 性能影响:
- Swap 的速度远慢于物理内存(磁盘 I/O vs 内存访问),频繁使用 Swap 会导致系统卡顿。
- 理想情况下,Swap 应保持低使用率(长期高占用可能意味着物理内存不足,需升级内存)。
- 常用操作命令:
- 查看 Swap 详细信息:
swapon -s或cat /proc/swaps。 - 启用 / 禁用 Swap:bash
swapoff
- 查看 Swap 详细信息:
四、Swap 相关优化
- 调整
swappiness参数:- 控制内核使用 Swap 的倾向(值范围 0-100,默认通常为 60):bash
- 控制内核使用 Swap 的倾向(值范围 0-100,默认通常为 60):bash
- 扩容 Swap:
- 若物理内存不足且无法升级,可通过创建 Swap 文件或分区扩容:bash
fallocate 2G /swapfile
/swapfile
/swapfile
/swapfile
- 若物理内存不足且无法升级,可通过创建 Swap 文件或分区扩容:bash
五、总结
- 正常情况:Swap 使用率低(
used小,free大),说明系统内存充足。 - 异常情况:若 Swap
used长期接近total,且物理内存available不足,需排查内存泄漏或升级硬件。
通过 free 命令观察 Swap 状态,可帮助诊断系统内存瓶颈,结合 top、htop 等工具能更全面分析进程内存占用。