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、內存分配。