Linux虚拟机资源优化策略
virsh vcpuinfo命令查看并设置亲和性。echo always > /sys/kernel/mm/transparent_hugepage/enabled),将内存页从4KB合并为2MB,减少TLB(快表)缺失,提升内存访问速度。vm.swappiness值(默认60,建议10-30),减少系统对Swap分区的依赖,避免频繁磁盘交换导致的性能下降。通过sysctl -w vm.swappiness=10临时修改,编辑/etc/sysctl.conf永久生效。virt-sparsify工具);优化缓存模式(如KVM中设置cache=writeback,将写操作先缓存在内存中,减少磁盘写入次数)。noatime禁用访问时间更新、nodiratime禁用目录访问时间更新、discard启用TRIM命令,适用于SSD),减少不必要的磁盘写入。echo noop > /sys/block/sdX/queue/scheduler),避免CFQ(完全公平队列)调度器的额外排序开销,提升I/O响应速度。systemctl list-unit-files --state=enabled查看启动服务,禁用无用服务(如蓝牙、自动更新),减少系统负载。例如禁用蓝牙服务:systemctl stop bluetooth && systemctl disable bluetooth。systemd-analyze blame分析启动慢的服务,延迟或禁用非关键服务(如graphical.target下的图形界面服务,若无需图形界面)。vm.swappiness外,还可调整net.core.somaxconn(增加网络连接队列上限,适用于高并发场景)、vm.dirty_ratio(控制脏页比例,避免频繁刷盘)等参数,提升系统性能。journalctl --vacuum-time=1w删除一周前的系统日志,释放磁盘空间;使用apt-get autoclean(删除旧版软件包)、apt-get clean(删除所有下载的软件包)清理包缓存;使用sync; echo 3 > /proc/sys/vm/drop_caches清理页面缓存(谨慎使用,避免影响正在运行的应用)。df -h查看磁盘空间使用情况,iostat -x 1监控磁盘I/O负载(关注%util(磁盘利用率)、await(平均等待时间)等指标),及时发现磁盘瓶颈。virtio-blk for 磁盘、virtio-net for 网络),相比默认的模拟设备,能显著提升I/O性能。例如创建虚拟机时,将磁盘控制器设置为virtio,网络适配器设置为virtio-net。tuned工具(yum install tuned && tuned-adm profile virtual-guest)为虚拟机配置优化的性能参数(如CPU调度、磁盘IO);使用htop、vmstat实时监控系统资源使用情况,根据负载动态调整vCPU、内存分配。