麒麟系统内存不足时需查Swap使用率,可用free命令看总体占用、swapon --show查活动设备、/proc/swaps读原始数据、vmstat监控换页频率、top观察进程虚拟内存行为。

如果您在麒麟操作系统中运行内存密集型应用时出现卡顿、响应迟缓或系统提示“内存不足”,则可能是物理内存已接近耗尽,需通过查看虚拟内存(Swap)使用率来判断系统是否正频繁依赖交换空间。以下是针对银河麒麟操作系统查看虚拟内存使用率的多种可行方法:
一、使用free命令查看Swap总体使用率
free命令直接读取/proc/meminfo中的Swap统计字段,以易读格式呈现交换空间总量、已用、空闲及缓存状态,是快速确认Swap是否启用及当前负载的首选方式。
1、打开终端,执行:free -h
2、定位输出中Swap行:关注total(总大小)、used(已用)、avail(可用)三列数值。
3、计算使用率:用used ÷ total × 100%得出百分比,例如used为2.1G、total为8.0G,则使用率为26.25%。
4、如需持续观察变化,执行:free -h -s 3(每3秒刷新一次)。
二、使用swapon --show命令列出活动Swap设备详情
该命令专用于枚举当前已启用的Swap设备或文件,输出包含类型(partition/file)、路径、大小、优先级及是否加密等关键属性,适用于多Swap配置环境下的精确识别与状态核查。
1、在终端中输入:swapon --show
2、检查输出中SIZE列对应数值,单位默认为B,可添加-h参数以人类可读格式显示:swapon --show -h
3、确认TYPE列为file或partition,并核对PATH是否与预期一致。
4、若无任何输出,表明当前未启用任何Swap空间。
三、解析/proc/swaps文件获取原始交换分区信息
/proc/swaps是内核维护的只读接口,记录所有已注册的Swap条目及其挂载参数,内容结构简洁、无格式化修饰,适合脚本解析或与fstab配置交叉验证。
1、执行命令查看原始数据:cat /proc/swaps
2、每行包含五个字段,依次为:filename、type、size(KB)、used(KB)、priority。
3、将used值除以size值,即可获得该Swap项的实时使用率。
4、若某行used值持续增长且接近size,表明系统正承受显著内存压力。
四、使用vmstat监控Swap换页活动频率
vmstat提供按时间采样的系统级统计,其中si(swap in)与so(swap out)字段反映每秒从磁盘读入/写出到Swap的千字节数,是判断Swap是否成为性能瓶颈的核心指标。
1、运行周期采样命令:vmstat 2 5(每2秒输出一行,共5行)。
2、在输出表格末尾列中查找si和so字段。
3、若连续多行中si或so值均大于0,说明系统正在频繁进行换页操作。
4、当si + so > 100 KB/s并持续超过30秒,应视为Swap过载预警。
五、结合top命令观察Swap相关进程行为
top虽不直接显示Swap总量,但其进程列表中RES(常驻内存集)与VIRT(虚拟内存大小)两列可辅助识别潜在Swap触发源:VIRT远大于RES的进程更可能因内存超限而被换出。
1、启动top:top
2、按Shift+F进入字段选择界面,用方向键高亮VIRT,按Space启用,再按s排序。
3、观察前列进程的VIRT值(单位为g或m),若某进程VIRT达数GB而RES仅数百MB,表明其大量地址空间尚未实际映射物理页。
4、按Shift+M切换至RES降序,对比VIRT与RES差异显著的进程,此类进程在内存紧张时最易被swapd调度换出。



















