因为不小心把Azure免费额度用超了一点点, 一台虚拟机被停了. 等了几小时后重新开始一轮新的 bill cycle. 赶紧重启虚拟机恢复服务. 运行了不到一小时, 服务器突然变得超级慢. 查了一下, 发现内存严重不足. 然后认真一看, SWAP 变成了0!!!
怎么会是0呢….我晕死
上网查了一下, 原来是万恶的微软改了东西. 把原来使用 waagent 设置SWAP文件的方式改成了用 cloud-init . 不明所以, 跟着教程整了一遍, 重启机器, 然后用 Free 查了一下, 没有卵用.
https://docs.microsoft.com/en-us/troubleshoot/azure/virtual-machines/swap-file-not-recreated-linux-vm-restart
那还是手动运行指令吧.
先用这条指令生成 swap 文件, 教程里是2048, 果断改成4096, 不敢改多, 怕不生效.
dd if=/dev/zero of=/mnt/swapfile bs=1M count=4096
然后一条一条输入以下指令
chmod 600 /mnt/swapfile
mkswap /mnt/swapfile
swapon /mnt/swapfile
swapon -a
以上指令都需要 sudo 哦.
然后swap 就回来了, 不需要重启. 不过下次重启的时候可能还得这么来一遍. 先不管了!