Linux创建swap交换分区
前言
当自己的内存不够用时,可以适当的添加 swap
分区。
比如 java
开发就很费内存,主要是idea
费内存,这时候会产生一个kswpd0
的进程,会把当前内存部分放入swap
分区,如果没有设置swap
分区,那么死机的几率就很大了。
首先确定有没有swap
分区
1 | free -m |
创建swap
分区
1、新增硬盘分区(明显不行了,没有新的硬盘了)
2、用文件作为 swap
分区
下面所有的操作都需要root
权限,需要谨慎
创建一个空的swap
文件
1 | sudo dd if=/dev/zero of=/swapfile count=8192 bs=1M |
其中 dd
命令的内容可以按自己的需求修改:
- if =输入文件(或设备名称)。
- of =输出文件(或设备名称)。
- ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
- skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
- obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。
- bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。
- cbs = byte 一次转换bytes字节。
- count=blocks 只拷贝输入的blocks块。
成功后的反馈
1 | 记录了8192+0 的读入 |
激活swap
分区
Swap
分区需要读写的权限,授权:
1 | sudo chmod 600 /swapfile |
查看授权:
1 | sudo ls -lh /swapfile |
成功提示:
1 | -rw------- 1 root root 8.0G 1月 14 17:42 /swapfile |
然后挂载Swap分区:
1 | sudo mkswap /swapfile |
成功提示:
1 | 正在设置交换空间版本 1,大小 = 8 GiB (8589930496 个字节) |
打开swap
1 | sudo swapon /swapfile |
查看
1 | free -m |
设置开机自启
1 | sudo vim /etc/fstab |
在末尾添加
1 | /swapfile none swap sw 0 0 |