遇到swap free memory为0怎么办?

在实时系统中遇到swap free内存逐渐减少的问题,通过监控top命令和编写脚本追踪VSZ和RSS占用高的进程,结合free命令结果,可以定位被交换到swap的进程,从而解决内存问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实时系统中,一般swap都使用比较少,最佳状态就是used一直为0,但是 在工作中,我们遇到一个问题,swap的free空间正在不断变小。如果从top结果来看,我们能找出哪些process使用VSZ和RSS比较多,但是并不能确定到底是谁被更多swap。

host:/root-# free

             total       used       free     shared    buffers     cached

Mem:       8050416    8007984      42432          0    1237124     229692

-/+ buffers/cache:    6541168    1509248

Swap:      4200988    4098364     102624  <--蓝色的数字在不断变小。

 

使用以下脚本,我们就能监测前面20个vsz使用大的进程vsz/rss的变化情况,通过与free结果结合比较,就能确定到底谁被swap了。

while true
do
date
ps -aeo  "pid vsz rss comm" | sort -n -k2 | tail -20
free 
sleep 10
done >/tmp/monitor.log


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值