每天提供最新IT类资讯、原创内容、运维经验和运维知识分享!偶尔还会有福利频道,免费上车,坚持不付费为原则,免费分享,大家的关注就是对我最大的支持!
Linux 虚拟机全方位性能优化方案
适用于 VMware、VirtualBox、KVM、Hyper-V 各类虚拟化平台,分为虚拟化硬件层配置、系统内核优化、磁盘 IO、内存、CPU、网络、服务精简六大模块,兼顾生产稳定性与性能提升。
一、虚拟化平台底层硬件配置(最关键,优先调整)
1. CPU 配置
CPU 核心分配原则
关闭节能策略
2. 内存分配
3. 磁盘(IO 瓶颈高发区)
磁盘类型首选:
磁盘介质:固态硬盘 SSD/NVMe > 机械硬盘
磁盘模式:
禁用频繁快照、自动备份,快照过多严重拖慢 IO
4. 网卡
统一更换虚拟化高性能网卡驱动:
二、Linux 系统内核基础优化(通用 CentOS7/8、Ubuntu、Debian)
1. 内核升级
新版内核优化虚拟化调度、virtio 驱动、内存管理
# CentOSyum update kernel -y# Ubuntuapt update && apt install linux-image-generic -y
2. 关闭不必要服务,削减资源开销
# 查看开机自启服务systemctl list-unit-files --type=service --state=enabled# 按需关闭无用服务示例systemctl disable --now firewalld postfix avahi-daemon bluetooth cups
三、内存优化(虚拟机重中之重)
1. 调整内核内存参数 /etc/sysctl.conf
# 减少swap使用倾向,数值0~100,越小越优先使用物理内存vm.swappiness = 10# 回收页缓存倾向vm.vfs_cache_pressure = 50# 禁用透明大页碎片(数据库场景推荐关闭,普通业务开启)# never=关闭,always=开启echo never > /sys/kernel/mm/transparent_hugepage/enabledecho never > /sys/kernel/mm/transparent_hugepage/defrag
生效命令:
2. 定时清理缓存(负载低时段执行)
# 清理页缓存sync; echo 1 > /proc/sys/vm/drop_caches# 清理 dentries 和 inodessync; echo 2 > /proc/sys/vm/drop_caches# 清空所有缓存sync; echo 3 > /proc/sys/vm/drop_caches
3. 关闭 OOM 过度激进杀死进程
# sysctl.confvm.oom_kill_allocating_task = 0
四、磁盘 IO 性能优化
1. 磁盘调度算法修改
虚拟机推荐 noop 调度算法(宿主机统一调度,虚拟机无需额外 IO 调度)
# 临时生效echo noop > /sys/block/vda/queue/scheduler# 永久配置(CentOS7)vi /etc/grub2.cfgelevator=noop# 更新grubgrub2-mkconfig -o /boot/grub2/grub.cfg
2. 文件系统挂载优化
修改 /etc/fstab,增加挂载参数:
# 示例ext4/dev/vda1 / ext4 defaults,noatime,nodiratime,barrier=0 0 0
参数解释:
3. 关闭磁盘写入日志、精简日志输出
日志太多持续占用 IO:
五、CPU 调度优化
安装 cpufreq 工具,设置 CPU 性能模式
yum install cpupowerutils -y# 性能模式,全程满频运行cpupower frequency-set -g performance
可选模式:performance(性能)、ondemand(按需)、powersave(省电)
关闭 CPU 闲置省电:
echo 1 > /sys/devices/system/cpu/smt/control
六、网络性能优化
编辑 /etc/sysctl.conf 添加网络参数:
# 调高TCP缓冲区net.core.rmem_max = 16777216net.core.wmem_max = 16777216net.ipv4.tcp_rmem = 4096 87380 16777216net.ipv4.tcp_wmem = 4096 65536 16777216# 开启TCP快速回收、复用端口net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_fin_timeout = 30# 扩大端口范围net.ipv4.ip_local_port_range = 1024 65535
生效:sysctl -p
七、虚拟化专属驱动安装(大幅降损耗)
VMware 虚拟机
安装 VMware Tools /open-vm-tools(推荐开源版)
# CentOSyum install open-vm-tools open-vm-tools-desktop -y# Ubuntuapt install open-vm-tools open-vm-tools-desktop -y
作用:时间同步、显存适配、文件拖拽、优化虚拟化硬件调用
KVM 虚拟机
八、额外进阶优化
时间同步
虚拟机时钟容易漂移,配置 chrony 时间同步:
yum install chrony -ysystemctl enable --now chronyd
禁用 NUMA(小型虚拟机)
单核 / 多核少于 8 核虚拟机关闭 NUMA,避免调度开销
内核 dump 崩溃转储关闭(节省磁盘内存)
定期监控性能瓶颈
# CPU负载top / htop# 磁盘IOiostat -x 1# 内存free -h# 网络iftop
九、避坑禁忌
内存超额分配、CPU 超配:极易卡顿、swap 飙升
大量快照、差分磁盘:磁盘碎片化,IO 暴跌
机械硬盘跑高并发业务:天生 IO 短板
长期不清理日志、缓存:磁盘占满、读写缓慢
