ProxmoxVE调优 P1

前言

闲言碎语

最近维护,觉得还能调整一下。于是就有了这篇博文。

硬件环境

  • 一块120G SATA SSD

  • 两块1T SATA HDD 7200 RPM

  • 32G DDR3 1600 四槽双通道 8G*4

  • B85 + i5 4460

软件环境

  • ProxmoxVE 7.1-12

  • Arch Linux Latest with linux-lts kernel

情况声明

asdfghjkl;’

配置大纲

每个系统的网络拥塞控制算法改为bbr,队列调度改为fq_codel(如果支持)。

设置系统在内存用剩四分之一时再使用swap。

全部虚拟机的SCSI控制器修改成VirtIO SCSI Single

SSD的虚拟机开启SSD仿真。

全部盘开启io thread

开启所有包括宿主机系统在内并用SSD硬盘的fstrim.timer服务(如果有)。

过程

网络

这个部分可能需要所有系统全部修改,效果显著。

先在/etc/modules-load.d/这个内核模块自启动加载目录新增一个配置文件。如果已经有此文件,则追加即可。

新建配置文件并写入tcp_bbr:

1
echo "tcp_bbr" > /etc/modules-load.d/modules.conf

然后,在/etc/sysctl.d/这个内核参数自启动配置目录下再新增一个配置文件即可。

新建配置文件并写入fq_codel:

1
echo "net.core.default_qdisc=fq_codel" > /etc/sysctl.d/bbr.conf

把bbr追加进配置文件:

1
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.d/bbr.conf

内存

还是/etc/sysctl.d/这个目录,新建一个配置文件,并写入swap触发百分比:

1
echo "vm.swappiness=25" > /etc/sysctl.d/swapSet.conf

意思是当系统内存用剩百分之25或用到百分之75时,才使用swap。

硬盘

所有虚拟机SCSI控制器改成SCSI Single:

SCSI控制器

使用SSD盘的虚拟机,打开SSD仿真和io thread:

SSD更改

使用HDD盘的虚拟机,仅打开io thread:

HDD更改

每个包括宿主机在内的系统,自启动fstrim计时器:

1
systemctl enable fstrim.timer

这样做每周都会自动执行一次trim优化。

也可以先做一次trim优化:

1
systemctl start fstrim.service

收尾

重启宿主机,如果需要,重启后,启动各虚拟机。

最后

修改完的效果,还是很显著的。

修改前

修改后

ref

Archlinux forum id 223879

fjping0606’s blog on cnblogs

ProxmoxVE forum id 27454


ProxmoxVE调优 P1
https://blog.geolee.xyz/2022/04/15/proxmox-system-optimization-i/
作者
丈育
发布于
2022年4月15日
许可协议