必须立即检查swap是否启用且容量足够,用free -h查看swap状态,total为0表示未启用,used持续增长表明内存压力大;swapon --show确认swap是否active;/proc/swaps暴露挂载细节;通过filename前缀或lsblk -f区分swap类型。

麒麟OS系统运行变慢、程序频繁卡顿或提示“内存不足”时,必须立即确认交换空间(Swap)是否已启用且容量足够,否则物理内存耗尽后系统将直接触发OOM Killer终止进程。
用free -h快速确认Swap总体状态
这是最直接、最权威的查看方式,读取内核实时统计,不依赖任何第三方工具。
打开终端(Ctrl + Alt + T),输入:free -h 并回车执行。
重点查看输出中Swap这一行:若Total为0,说明Swap完全未启用;若Used持续增长而Free逼近0,表明物理内存长期不足,系统正重度依赖Swap。
【注意】free命令结果中的Available列仅针对Mem行有效,Swap行无Available概念——Swap一旦被使用,就代表内存压力真实存在。
用swapon --show验证Swap设备是否激活
当free -h显示Swap Total非零,但系统仍异常卡顿,需进一步确认该Swap空间是否处于active状态,排除配置残留或挂载失败导致的“假启用”。
在终端中执行:swapon --show
若输出为空,或仅有HEADER无实际行,说明当前没有任何Swap设备被内核识别为active——此时free -h中显示的Swap数据实为历史残留统计,不可信。
若输出包含TYPE、SIZE、PRIO等列,且STATE列为active,则确认Swap已真正启用并可被调度使用。
通过/proc/swaps查看底层挂载细节
/proc/swaps是内核暴露的原始Swap设备清单,比swapon --show更底层,能暴露fstab配置错误、重复挂载或路径异常等问题。
执行:cat /proc/swaps
观察第一列(Filename):正常应为文件路径(如/usr/swap/swapfile)或分区设备名(如/dev/sda2);若出现none或非法路径(如/swapfile.bak),说明Swap配置已被破坏或挂载失败。
检查第三列(Priority):数值越大优先级越高;若多个Swap设备Priority相同,内核会轮询使用;若主Swap Priority被误设为-1,它将永远不会被调用。
定位Swap空间来源(文件 or 分区)
区分Swap是来自独立分区还是交换文件,关系到后续扩容、迁移或故障排查路径。
方法一:检查/proc/swaps中Filename列以/dev/开头 → 属于磁盘分区型Swap,例如/dev/nvme0n1p3。
方法二:Filename列显示绝对路径(如/usr/swap/swapfile)→ 属于文件型Swap,需结合df -h确认其所在文件系统剩余空间是否充足。
方法三:执行lsblk -f | grep swap,直接列出标记为swap类型的块设备及其FSTYPE(如swap或空白),此命令对分区型Swap识别最直观。











