上一篇                     
               
			  linux下如何查看交换分区大小
- Linux
- 2025-07-24
- 4662
 在Linux下,可通过
 
 
free -h快速查看交换分区(Swap)大小及使用情况,或执行
 swapon --show列出交换分区详细信息,若需进一步分析,可结合
 cat /proc/swaps或
 blkid查询具体分区属性
在 Linux 系统中,交换分区(Swap)是用于扩展物理内存的虚拟存储区域,当系统内存不足时,数据会被转移到交换分区以释放内存空间,以下是查看交换分区大小的多种方法及详细解析:
命令行方法
-  swapon 命令 - 作用:显示当前激活的交换分区信息。
- 用法:swapon -s
- 输出示例: Filename Type Size Used Priority /dev/sda3 2G 0B -2
- 解析: 
    - Filename:交换分区的设备路径(如- /dev/sda3)。
- Size:交换分区总大小(如- 2G)。
- Used:已使用的空间(如- 0B表示未使用)。
 
- 特点:直接显示交换分区的设备信息和状态,适合快速查看基础数据。
 
-  free 命令 - 作用:查看内存和交换分区的使用情况。
- 常用参数: 
    - free -h:以人类可读的格式(如- 1G)显示内存和交换分区。
- free -m:以 MB 为单位显示数值。
 
- 输出示例(free -h):total used free shared buff/cache available Mem: 7.8G 2.1G 4.9G 87M 860M 5.4G Swap: 2.0G 0B 2.0G
- 解析: 
    - Swap行显示交换分区的总大小(- 0G)和已用空间(- 0B)。
- Mem行展示物理内存的使用情况。
 
 
-  top 和 htop 命令  - 作用:实时监控系统资源,包括交换分区使用率。
- 输出示例(top命令底部):Swap: 2G 0G 2G
- 特点:动态更新,适合观察交换分区的实时占用情况。
 
-  查看 /proc/meminfo 文件 - 作用:获取内存和交换分区的详细统计信息。
- 用法:cat /proc/meminfo | grep Swap
- 输出示例: SwapCached: 0 kB SwapTotal: 2097148 kB SwapFree: 2097148 kB
- 解析: 
    - SwapTotal:交换分区总大小(单位为 kB)。
- SwapFree:可用交换空间。
 
 
通过系统配置文件查看
-  /etc/fstab 文件 - 作用:存储系统启动时自动挂载的交换分区信息。
- 用法:grep swap /etc/fstab
- 输出示例: UUID=xxxx-xxxx-xxxx-xxxx none swap sw 0 0
- 解析: 
    - UUID:交换分区的唯一标识符。
- none:交换分区不对应具体文件系统。
- sw:表示该行定义的是交换分区。
 
 
-  df 命令的局限性  - 注意:df命令默认无法直接查看交换分区,因为交换分区通常以特殊格式(如swap)存在,而非普通文件系统,需结合swapon或free命令使用。
 
- 注意:
图形化工具查看
-  GNOME Disk Utility - 路径:Applications → Disks。
- 操作:选择对应分区,查看“Device”或“Partition”标签页中的“Type”是否为 swap,并显示其大小。
 
- 路径:
-  KDE Partition Manager - 路径:Applications → System → Partition Manager。
- 操作:右键点击分区,选择“Properties”查看类型和容量。
 
- 路径:
编程接口查询
-  Python 脚本  - 示例代码: import os with open("/proc/meminfo") as f: for line in f: if "Swap" in line: print(line.strip())
- 输出: SwapTotal: 2097148 kB SwapFree: 2097148 kB
 
- 示例代码: 
-  C语言 API - 方法:通过 sysinfo()函数获取内存和交换分区信息,但需手动计算单位转换。
 
- 方法:通过 
常见问题解答(FAQs)
| 问题 | 解答 | 
|---|---|
| 交换分区大小不足如何解决? | 创建新的交换文件: dd if=/dev/zero of=/swapfile count=1024k && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile将新交换文件加入 /etc/fstab以实现开机自动挂载。 | 
| 如何临时禁用交换分区? | 使用命令 swapoff -a可禁用所有交换分区,但重启后仍需修改/etc/fstab以避免自动挂载。 | 
方法可根据实际需求选择使用,建议结合 swapon 和 free 命令快速查看交换分区状态,并通过 /etc/fstab 管理长期
 
  
			