在VMware上优化Rocky Linux虚拟机性能需结合虚拟化层与操作系统双重视角。以下是核心实践经验:
-
硬件资源分配
- 避免vCPU超配(建议物理核心数≤vCPU总数80%),采用NUMA绑定时若跨节点需预留完整物理核。
- 启用内存预留防止交换,配合VMware气球驱动与Transparent Page Sharing实现动态回收。
- 存储优先选择厚置备延迟置零模式,采用PVSCSI控制器并启用队列深度优化(例如调整/etc/vmware-tools/config中的disk.EnableNvme=1)。
-
操作系统调优
- 修改I/O调度策略为deadline(echo deadline > /sys/block/sdX/queue/scheduler),关闭透明大页(transparent_hugepage=never)。
- 安装Open-VM-Tools时需禁用自带vmtoolsd服务,通过
vmware-toolbox-cmd disk shrink /主动回收未用空间。
- 使用stripped逻辑卷配合XFS+noatime挂载选项,SSD场景额外添加discard参数启用TRIM。
-
网络瓶颈突破
- VMXNET3适配器需加载vmxnet3驱动模块,巨型帧需保持端到端MTU一致性。
- 多队列优化通过
ethtool -L eth0 combined 4启用,配合irqbalance服务实现中断均衡。
典型挑战案例:某高IO负载场景中,默认配置下出现周期性延迟峰值。经vscsiStats分析发现队列深度饱和,通过调整磁盘预读参数(blockdev --setra 4096 /dev/sdX)并启用PVSCSI队列深度扩展(scsi=vmw_pvscsi.msg_ring=1)后,IOPS波动降低62%。
最终需通过esxtop监控%RDY、%USED等关键指标,结合Rocky Linux的perf工具进行热点分析,实现精准调优。