[折腾日常]linux交换空间
查看现在的swappiness
cat /proc/sys/vm/swappiness
swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,
swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
临时修改swappiness参数.这里设置的10
sysctl vm.swappiness=10
永久修改
在/etc/sysctl.conf文件中添加如下参数,这里设置的10
vm.swappiness=10
设置好后一定要启用激活
sysctl -p
增加和删除swap分区
查看现在正在使用的swap
free
- 使用dd命令创建一个swap分区,在这里创建一个4G的分区
dd if=/dev/zero of=/root/swapfile bs=1M count=4096
if=文件名:表示指定源文件
of=文件名:表示指定目的文件,可以自己去设定目标文件路径。
bs=xx:同时设置读入/写出的“块”大小
count=xx:表示拷贝多少个“块”
bs * count 为拷贝的文件大小,即swap分区大小
2, 格式化新建的分区文件
mkswap /root/swapfile
- 将新建的分区文件设为swap分区
swapon /root/swapfile
- 设置开机自动挂swap分区
echo "/root/swapfile swap swap defaults 0 0" >> /etc/fstab
- 最后使用free -h查看分区情况
- 删除swap分区
swapoff /root/swapfile
rm -rf /root/swap
ps:archlinux
这里是引用Deprecation of /etc/sysctl.conf
From version 207 on, systemd will not apply the settings from /etc/sysctl.conf anymore: it will only apply those from /etc/sysctl.d/*. Since the settings of our /etc/sysctl.conf shipped by procps-ng have become kernel defaults anyway, we have decided to deprecate this file.
Upon upgrading to procps-ng-3.3.8-3, you will be prompted to move any changes you made to /etc/sysctl.conf under /etc/sysctl.d. The easiest way to do this is to run:
pacman -Syu
mv /etc/sysctl.conf.pacsave /etc/sysctl.d/99-sysctl.conf
If you never customized /etc/sysctl.conf, you have nothing to do.
临时设置
sysctl -w vm.swappiness=10
要永久设置交换值,请创建sysctl.d配置文件。例如:
sudo nano /etc/sysctl.d/99-swappiness.conf
vm.swappiness=10
archlinux 设置好了以后重启自动生效了额