预算有限,只能买得起小内存虚拟机这样子,又菜又爱玩,小内存我也要部署80个应用。嘿嘿
本次512MB小鸡开启zram+swap这种奇葩的组合
zram:土白话解释就是压缩内存,把不常用的废物占用内存压缩起来,当需要这些废物的时候再劳烦CPU大哥解压一下拿来用,优势就是速度快,劣势就是本来只有512MB的内存,你顶破天也不可能超过这个值。虽然CPU占用不搞,但是CPU跑分只有十位数的小鸡,建议直接放弃吧,我怕小鸡跑一半直接嘎给你看。
swap:土白话解释就是在本就不够的金子般的钻石盘中压缩出一丢丢空间用来当作内存使用,优势就是你可以设置一个超过本身内存大小的空间作为swap,劣势就是钻石盘的读写只有2MB/s,速度感人,能把小鸡卡冒烟。哦,另外:如果是大母鸡,内存动不动TB级别,建议swap也弄个4-8GB。
开启swap,开机自动挂载,本次使用1GB,建议和真实内存大小一致,或者你喜欢的大小:
创建 1GB swap 文件
# 创建 1GB 的空文件
sudo fallocate -l 1G /swapfile
# 配置权限
sudo chmod 600 /swapfile
# 格式化为 swap
sudo mkswap /swapfile
# 启用,-p 10优先级为10,不用此参数,默认为-2,值越大优先级越高
sudo swapon /swapfile -p 10
# 开机自动挂载# 备份 fstab(好习惯)
sudo cp /etc/fstab /etc/fstab.bak
# 添加 swap 条目
echo '/swapfile none swap sw,pri=10 0 0' | sudo tee -a /etc/fstab
开启zram,并开机自动启动,建议大小最多不多于实际内存:
sudo tee /etc/systemd/system/zram-swap.service << 'EOF'
[Unit]
Description=Enable zram swap for low-memory systems
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c "\
modprobe zram && \
echo lz4 > /sys/block/zram0/comp_algorithm && \
echo 512M > /sys/block/zram0/disksize && \
mkswap /dev/zram0 && \
swapon /dev/zram0 -p 100"
ExecStop=/bin/bash -c "swapoff /dev/zram0; echo 1 > /sys/block/zram0/reset"
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOF
创建启动服务、开机自启:
sudo systemctl daemon-reload
sudo systemctl enable --now zram-swap.service
最后可以用swapon –show,查看下zram的使用状态,使用free -h可以看到swap的容量是swap+zram之和,至此我们就在512MB内存小鸡上启用了zram+swap的奇葩组合,现在小鸡终于跑80个应用了。此时的zram默认优先级为100,优先使用这部分空间,不够再用swap顶上。
另:上面那些代码啥的菜鸡的我当然写不出来,再次感谢万能的AI。
那啥最后的最后,我可以不会写,我可以不懂原理,我可以不懂配置,但是如果我知道有这么个东西,那肯定就有办法实现。所以开阔眼界,多看多读多学,就算吹牛皮,我都能比别人多吹两个。嘻嘻~
未经允许不得转载:小毛子的记录站 » 备忘:小内存虚拟机抢救,开启zram+swap
小毛子的记录站
上古年间的玩客云刷机教程以及一些踩坑点