需用free、top、/proc/meminfo、vmstat、ps等命令综合观测内存:free看总体可用内存,top动态排序进程,/proc/meminfo查底层细分,vmstat监控换页,ps筛选高内存进程。

如果您在麒麟操作系统中需要掌握当前内存占用状况与资源分布细节,则需借助系统内置的多种命令行工具进行实时观测。以下是具体操作步骤:
一、使用free命令查看内存总体使用情况
free命令是最直接获取内存统计信息的方式,它从/proc/meminfo读取原始数据并以易读格式呈现,包含总内存、已用、空闲、缓存及可用内存(available)等关键字段。
1、打开终端,输入以下命令:
free -h
2、观察输出中的available列数值,该值代表当前可立即分配给新进程的物理内存容量,比free列更具实际参考价值。
3、如需持续监控,可添加-s参数实现周期刷新,例如:
free -h -s 2
该命令每2秒刷新一次显示。
二、使用top命令动态查看进程级内存占用
top命令提供实时、动态的系统资源视图,支持按内存使用率排序,便于定位高内存消耗进程。
1、在终端中执行:
top
2、进入交互界面后,按下Shift + M键,使进程列表按RES(常驻内存集)降序排列。
3、关注各进程的RES(单位为KB或MB)和%MEM列,识别内存占用异常的进程。
4、如需退出,按q键。
三、解析/proc/meminfo获取底层内存细分指标
/proc/meminfo是内核暴露的内存状态接口,其内容涵盖页缓存、Slab、大页、硬件保留内存等详细分类,适用于深度诊断内存差异问题。
1、执行以下命令查看完整内存明细:
cat /proc/meminfo
2、重点检查以下字段:
MemTotal:系统启动时探测到的物理内存总量;
MemFree:完全未被使用的物理内存;
Buffers与Cached:块设备缓冲区与页缓存,属于可回收内存;
SReclaimable:可回收的Slab内存(如dentry、inode缓存);
HugePages_Total与HugePages_Free:若启用大页,其差值乘以页大小即为大页实际占用内存。
四、使用vmstat监控内存与交换活动
vmstat提供内存、交换、I/O、CPU等多维度的采样统计,特别适合观察内存压力是否触发换页行为。
1、运行以下命令获取内存相关汇总信息:
vmstat -s | grep -E "(memory|swap|page)"
2、执行周期性采样以观察变化趋势:
vmstat 1 5
该命令每1秒输出一行,共5行,重点关注si(swap in,单位KB/s)和so(swap out)字段,非零值表明系统正频繁使用交换空间。
五、使用ps命令筛选高内存进程
ps命令可一次性列出指定条件的进程快照,配合排序与过滤,快速定位内存大户,无需进入交互式界面。
1、执行以下命令按内存使用率降序列出前10个进程:
ps aux --sort=-%mem | head -n 11
2、其中第一行为表头,后续每行含%MEM(内存使用百分比)与RSS(实际物理内存占用KB数)。
3、如需仅显示进程名与RSS值,可使用:
ps -eo pid,comm,rss --sort=-rss | head -n 11










