[建议]使用ZRAM代替swap
本帖最后由 lilunxm12 于 2020-2-20 14:51 编辑modprobe zram
totalmem=`free | grep -e "^Mem:" | awk '{print $2}'`
mem=$(( ($totalmem)* 1024 * 3))
limit=$($mem - 32)
echo $mem > /sys/block/zram0/disksize
echo $limit > /sys/block/zram0/mem_limit
mkswap /dev/zram0
swapon -p 5 /dev/zram0
类似这样,
都2020年了,还没EOL的发行版的默认内核都应该支持zram了,至于openvz,swap一样无法开启
我好像忘了centos7还是3.10,那除了RHEL7系列之外的吧...
实际效果上,做了个极端测试,buyvm的512M小鸡挂在256G磁盘,启用zstd,3.5倍内存的swap大小,可以顺利编译5.7,如果使用lld的话,甚至可以顺利编译8.0
最终的测试,debian buster, 所有包默认使用backports源,所以5.4内核
apache2.4+mysql8.0.19(使用lld)+php7.4.2(开启pathinfo和bz2)在268分钟内安装完成,比单纯用硬盘swap应该快了数量级吧...
当然这个配置没啥实用意义,没建虚拟主机开机就有85%的内存使用率
这个机器装了个nextcloud,运行几个小时之后可以看到内存占用下去了,应该是进了swap,用zramctl看了下,270m的swap经过zstd压缩之后实际上只占了9m的内存....大致来说,zram对于小内存意义还是很大的...
页:
[1]