linux swap交换区满了怎么办(已解决)

swap交换区满了怎么办

一、不增加交换区的方法

  1. free -m 或free -h查看占用情况

  2. 使用如下指令来查看占用swap的前十进程

for i in $( cd /proc;ls |grep "^[0-9]"|awk ' $0 >100') ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps 2>/dev/null ; done | sort -k2nr | head -10
  1. kill -9 pid杀死占用过多的进程

二、增加交换区的方法

dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
用到的参数如下:

if=文件名:输入文件名,默认为标准输入。即指定源文件。
of=文件名:输出文件名,默认为标准输出。即指定目的文件。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

参数说明:

第一步:创建一个大小为1024M的文件

dd if=/dev/zero of=/swap01 bs=1024 count=1048572

在这里插入图片描述

第二步:把这个文件变成swap文件:

mkswap /swap01

在这里插入图片描述

第三步:启用这个swap文件:

swapon /swap01

在这里插入图片描述

第四步:编辑/etc/fstab文件,使在每次开机时自动加载swap文件:

vim /etc/fstab
在文件末尾添加下列参数
/swap01    swap    swap    default   0 0

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_39570655/article/details/130745237