linux + 在后台运行 swapoff 和 swapon

linux + 在后台运行 swapoff 和 swapon

我们想要将vm.swappiness10 更新为 1 并执行swapoffswapon,因此内存消耗将仅来自存储卡而不是来自磁盘

所以我们编写了以下 bash 脚本(脚本应该运行在195Linux RHEL 7.6 服务器):

more /var/tmp/swap_conf_primary.sh
#!/bin/bash
sysctl -w vm.swappiness=1
sed -i 's/vm.swappiness = 10/vm.swappiness = 1/'   /etc/sysctl.conf"
sleep 2
swapoff-a 
swapon -a 
.
.
.

我们注意到该swapoff过程需要很长时间 - 几个小时(在某些机器上甚至 5-6 小时),因此我们决定使用 & 执行swapoffand swapon,如下所示:

$ more /var/tmp/swap_conf_primary.sh
#!/bin/bash
sysctl -w vm.swappiness=1
sed -i 's/vm.swappiness = 10/vm.swappiness = 1/'   /etc/sysctl.conf"
sleep 2
/var/tmp/swap_conf_secondery.sh &
.
.
.

尽管

$ /var/tmp/swap_conf_secondery.sh &
#!/bin/bash
echo “`date`  swapoff -a” >/tmp/swap_proccess.log
swapoff -a 
echo “`date`  swapon -a” >/tmp/swap_proccess.log
swapon -a 

进行上述更改后,我们还添加了一个附加脚本 /var/tmp/swap_conf.sh,它将作为进程运行,并自动执行swapoffswapon,而不依赖于“父”脚本 - /var/tmp/swap_conf_primary.sh

我们不确定脚本的方法是否是 /var/tmp/swap_conf_secondery.sh &我们可以做的最佳选择。那么,还有更好的选择吗?

相关内容