swap交换区满了怎么办
一、不增加交换区的方法
-
free -m 或free -h查看占用情况
-
使用如下指令来查看占用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
- 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