CentOS虛擬機內存使用管理指南
在虛擬機中配置CentOS內存時,需結合宿主機資源與虛擬機用途合理分配。若宿主機內存為4G,虛擬機最大可分配2G;若需安裝圖形界面(如GNOME/KDE),最低需628M內存;常規無圖形界面使用(如服務器),推薦1G及以上內存。此外,虛擬機內存不宜超過宿主機總內存的50%(如宿主機8G,虛擬機最多4G),避免因過度分配導致宿主機與其他虛擬機資源爭用。
查看整體內存使用情況:
使用free -mh
命令,可清晰顯示總內存(total)、已用(used)、空閑(free)、緩存(buff/cache)及可用(available)內存。其中“available”字段更能反映系統實際可用的內存(包含緩存中可快速釋放的部分)。
示例輸出:
Mem: 15G 10G 168M 5G 4G 3G
Swap: 2G 0B 2G
查看內存占用TOP進程:
ps auxw|head -1;ps auxw|sort -rn -k4|head -10
(顯示內存占用前10的進程);top
命令(按M
鍵可按內存使用量排序)。清理緩存釋放內存:
當buff/cache
占用過高時,可通過以下命令手動清理(清理后緩存會在需要時自動重建):
sync; echo 1 > /proc/sys/vm/drop_caches # 清理頁緩存
echo 2 > /proc/sys/vm/drop_caches # 清理目錄項和inode緩存
echo 3 > /proc/sys/vm/drop_caches # 清理頁緩存、目錄項和inode緩存
調整Swap使用策略:
若物理內存充足(如≥8G),可降低Swap使用優先級,避免頻繁磁盤IO影響性能。修改/etc/sysctl.conf
文件,添加:
vm.swappiness=10 # 取值范圍0-100,數值越小越傾向于使用物理內存
執行sysctl -p
使配置生效。
使用大頁內存(HugePages):
對于內存密集型應用(如數據庫、高性能計算),開啟大頁內存可減少TLB Miss,提升內存訪問效率。以CentOS 7.6為例,步驟如下:
/boot/efi/EFI/centos/grub.cfg
,在linux
行添加:default_hugepagesz=512M hugepagesz=512M hugepages=300 # 512M為每頁大小,300為頁數(需根據虛擬機內存調整)
cat /proc/sys/vm/nr_hugepages
(顯示已分配的大頁數量)。關閉透明大頁(THP):
THP雖能簡化內存管理,但會增加延遲,建議關閉。臨時關閉:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
永久關閉:將上述命令添加到/etc/rc.local
文件中(需賦予執行權限:chmod +x /etc/rc.local
)。
若使用VirtualBox作為虛擬化平臺,可通過以下方式優化內存使用: