linux内存划分swap命令
linux内存划分swap命令详细介绍
在 Linux 中,管理交换分区(Swap)的常用命令如下,附带场景说明和输出解读:
一、查看 Swap 状态
1.
free -h(最常用)
bash
total used shared buff/cache availableMem: 15Gi .2Gi .1Gi 132Mi .1Gi 12Gi
Swap: 16Gi 0B 16Gi
- Swap 列说明:
total:交换分区总大小(示例:16Gi)used:已使用的 Swap 空间(0B 表示未使用)free:空闲 Swap 空间
2.
swapon -s(详细分区信息)
bash
Filename Type Size Used Priority/dev/nvme0n1p6 partition
/swapfile
- 列含义:
Filename:Swap 设备 / 文件路径(如分区/dev/sda3或文件/swapfile)Type:类型(partition为分区,file为交换文件)Size:大小(单位:KB,示例中 16777212KB=16Gi)Priority:优先级(数值越高越优先使用,-1 表示自动)
二、管理 Swap(需
sudo)
1. 启用 Swap(分区或文件)
bash
/dev/nvme0n1p6
/swapfile
2. 禁用 Swap
bash
swapoff /dev/nvme0n1p6swapoff
3. 创建交换文件(示例:2Gi)
bash
/dev/zero /swapfile 1G/swapfile
/swapfile
/swapfile
三、生产环境注意点
- Swap 优先级:
- 多 Swap 设备时,优先级高的先被使用(通过
-p指定,如sudo swapon -p 10 /dev/sda3)。 - 建议文件 Swap 的优先级设为负数(如
-2),避免优先使用(因文件读写慢于分区)。
- 多 Swap 设备时,优先级高的先被使用(通过
- 性能影响:
- Swap 频繁使用说明物理内存不足,需优先扩容内存。
- 交换文件(非分区)适合临时场景,长期使用建议用独立分区。
- 自动挂载:
- 编辑
/etc/fstab,添加以下内容使 Swap 开机自动启用:bash/swapfile none swap sw/dev/nvme0n1p6 none swap defaults
- 编辑
总结命令表
| 场景 | 命令 | 说明 |
|---|---|---|
| 查看 Swap 总量 | free -h |
简洁显示内存 + Swap 状态 |
| 查看详细分区 | swapon -s |
列出所有激活的 Swap 设备 |
| 启用分区 | sudo swapon /dev/[设备名] |
激活指定 Swap 分区 |
| 禁用分区 | sudo swapoff /dev/[设备名] |
停用指定 Swap 分区 |
| 创建交换文件 | sudo dd + mkswap + swapon |
三步创建临时 Swap 文件 |
根据实际需求选择命令,注意操作分区时的风险(误操作可能导致数据丢失)。