上一篇
linux下如何查看交换分区
- Linux
- 2025-07-24
- 5
通过
swapon -s
或
free -h
命令可查看 Linux 交换分区状态
在 Linux 系统中,交换分区(Swap)是用于扩展物理内存的虚拟存储区域,当系统内存不足时,会将部分数据暂存到交换分区以缓解内存压力,以下是查看交换分区的详细方法及相关操作解析:
常用命令详解
命令 | 功能描述 | 输出关键信息 |
---|---|---|
swapon --show |
直接显示当前激活的交换分区信息 | 设备路径、类型、大小、已用空间、优先级 |
free -h |
查看系统内存及交换分区的使用概况 | 总内存、已用/可用内存、交换分区总量及使用情况 |
cat /proc/swaps |
读取系统进程虚拟文件,展示交换分区状态 | 设备路径、类型、容量、已用比例、是否启用 |
swapon --show
命令
此命令专为查询交换分区设计,输出简洁直观。
$ swapon --show FILENAME TYPE SIZE USED PRIORITIY /dev/sda2 partition 2048M 0B -2 /swapfile file 2G 100M -3
- 字段解析:
FILENAME
:交换分区的设备路径或交换文件位置。TYPE
:交换分区的类型(partition
或file
)。SIZE
:交换分区总容量。USED
:已使用的交换空间。PRIORITITY
:交换分区的优先级(值越低优先级越高)。
free -h
命令
此命令综合展示内存和交换分区的使用情况,适合快速查看整体状态:
$ free -h total used free shared buff/cache available Mem: 7.8G 2.1G 4.5G 90M 1.2G 5.6G Swap: 2.0G 100M 1.9G
- Swap 行解析:
total
:交换分区总容量。used
:已使用的交换空间。free
:可用的交换空间。
cat /proc/swaps
命令
此命令直接读取内核态交换分区状态,输出格式与 swapon --show
类似,但包含更多细节:
$ cat /proc/swaps Filename Type Size Used Priority /dev/sda2 2048M 0B -2 /swapfile 2G 100M -3
其他相关命令
top
和 htop
命令
在交互式系统监控工具(如 top
或 htop
)中,第一行会显示交换分区的使用情况:
Swap: 2G 100M 1.9G
按 Shift+M
可按内存使用排序,辅助定位占用较高的进程。
df -h
命令
虽然 df
主要用于查看文件系统磁盘使用情况,但通过指定交换分区路径也可查询:
$ df -h /dev/sda2 Filesystem Size Used Avail Use% Mounted on /dev/sda2 2G 100M 1.9G 5% [SWAP]
blkid
命令
用于识别块设备的UUID及类型,可验证交换分区是否被正确标记:
$ blkid /dev/sda2 /dev/sda2: UUID="xxxx-xxxx-xxxx-xxxx" TYPE=swap
交换分区的管理操作
创建交换分区
若系统无交换分区,可通过以下步骤创建:
# 创建交换文件(替代分区) sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # 写入 /etc/fstab 以开机自动启用 echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
禁用交换分区
临时禁用:
sudo swapoff /dev/sda2
永久禁用:编辑 /etc/fstab
,注释或删除交换分区条目。
常见问题解答(FAQs)
问题1:如何增加交换分区容量?
解答:
- 新建更大的交换文件或分区;
- 删除旧交换配置(
swapoff
并移除/etc/fstab
条目); - 启用新交换空间并更新
/etc/fstab
。
问题2:交换分区优先级如何调整?
解答:
通过 swapon
命令的 -p
参数设置优先级(范围 -1~32767),
sudo swapon -p -1 /dev/sda2 # 设置为最高优先级
在 Linux 中,交换分区的管理是系统维护的重要环节,掌握 swapon --show
、free -h
、/proc/swaps
等命令的使用,可有效监控交换分区的状态,结合实际需求,还可通过调整优先级、创建交换