谁在使用Linux SWAP

概述

本文概述Linux SWAP 有哪些进程在使用,以及如何关闭/开启SWAP。

实践

查看哪些进程占用swap分区

参考链接: https://blog.csdn.net/m0_37886429/article/details/73826868

shell

for i in $(ls /proc | grep "^[0-9]" | awk '$0>100'); do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps;done| sort -k2nr | head

然后根据ps aux | grep pid进行查看是哪个服务占用了swap

一个更详细的命令如下:

shell

#!/bin/bash  
# Get current swap usage for all running processes  
# writted by xly  

function getswap {

   SUM=0
   OVERALL=0
   for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
       PID=`echo $DIR | cut -d / -f 3`
           PROGNAME=`ps -p $PID -o comm --no-headers`
           for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`
               do
                   let SUM=$SUM+$SWAP
               done
               echo "PID=$PID - Swap used: $SUM - ($PROGNAME )"
               let OVERALL=$OVERALL+$SUM
               SUM=0
    done
    echo "Overall swap used: $OVERALL"
}  

getswap
#getswap|egrep -v "Swap used: 0" 

硬释放swap空间

shell

(1)执行sync
(2)echo 3 > /proc/sys/vm/drop_caches
 (3) swapoff -a
 (4) swapon -a


来源: Transcendent
文章作者: Gavin Wang
文章链接: 谁在使用Linux SWAP | Transcendent
本文章著作权归作者所有,任何形式的转载都请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值