通过VirtualBox图形界面限制Ubuntu虚拟机资源
关闭目标Ubuntu虚拟机(需完全关机,挂起或运行状态无法修改设置)。打开VirtualBox管理器,选中该虚拟机,点击顶部“设置”按钮。在设置窗口中,进入“系统”→“主板”标签页,找到“基础内存”滑块(单位:MB)。拖动滑块或直接输入数值,调整内存大小——建议分配值为主机可用内存的30%左右(如主机有8GB内存,可分配2-3GB给虚拟机),且不超过Ubuntu系统的最低需求(通常1GB以上,推荐2GB及以上)。调整完成后点击“确定”保存,重启虚拟机使设置生效。
同样在虚拟机“设置”窗口中,进入“系统”→“处理器”标签页。通过“处理器数量”滑块调整虚拟机的CPU核心数——建议不超过主机物理CPU核心数的50%(如主机有4核,可分配2核给虚拟机),避免过度占用主机资源导致卡顿。若需更精细控制,可勾选“启用CPU亲和性掩码”,指定虚拟机仅使用主机的特定CPU核心(如仅使用核心0和1),进一步提升资源隔离性。设置完成后点击“确定”保存。
VirtualBox本身不直接提供磁盘I/O限制功能,但可通过以下方式间接优化:
VBoxManage命令行工具扩容(如VBoxManage modifyhd <vdi_file_path> --resize <new_size>,单位为MB),或在VirtualBox设置中修改虚拟硬盘大小;VirtualBox支持通过网络带宽限制工具(如tc)控制虚拟机的网络流量。在Ubuntu虚拟机内安装tc工具(sudo apt-get install tc),然后执行以下命令限制网络带宽(以限制为1Mbps为例):
sudo tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms
其中eth0为虚拟机的网络接口名称(可通过ip a命令查看),rate为限制的带宽(如1mbit表示1Mbps),burst为突发流量大小,latency为延迟时间。此命令需在每次虚拟机启动后重新执行,或添加到启动脚本中实现永久生效。
注意事项:
cgroups、htop)使用,但这属于操作系统层面的配置,而非VirtualBox内置功能。