我刚刚安装了 14.04 Desktop,使用安装程序的“自动分区设置”,并带有“加密整个硬盘”选项。我安装了最新的 VMWare(版本日期为 4 月 17 日)。现在,每当我启动我的一个旧 VM(尚未尝试创建新 VM)时,我都会收到一个警告对话框,其中包含以下文本:
VMware Player 建议为当前正在运行的虚拟机组分配 512 MB 的系统交换空间。可用的系统交换空间为 0 字节。为获得最佳性能,请增加系统交换空间量,或在“首选项”下将所有虚拟机内存配置为使用保留的主机 RAM。
...下面有一个确定按钮。我要求它启动虚拟机几秒钟后才收到它,但我思考这是在启动之前(但不确定)。在使用较旧的 VMware Player 的 13.10 中不会出现此消息。
我担心我可能做错了什么。它是否告诉我我的主机上没有交换?(如果是这样,我该如何检查?GParted 仅显示顶级分区,也许我的交换区域位于加密分区内。)我真的需要主机上的交换吗?(我有 8GB 的 RAM,并且我同时运行 2 个虚拟机,每个虚拟机都有 1GB 的 RAM)。我应该关闭此警告吗?(有一个复选框)或者它是否告诉我我的虚拟机没有交换区域?这是我df -h
在虚拟机中输入时得到的结果:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 19G 4.1G 14G 23% /
none 497M 164K 497M 1% /dev
none 501M 0 501M 0% /dev/shm
none 501M 80K 501M 1% /var/run
none 501M 0 501M 0% /var/lock
none 501M 0 501M 0% /lib/init/rw
这是我在主机中输入后得到的结果:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-root 680G 78G 567G 13% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.9G 8.0K 3.9G 1% /dev
tmpfs 789M 1.2M 787M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 276K 3.9G 1% /run/shm
none 100M 84K 100M 1% /run/user
/dev/sda2 237M 54M 171M 24% /boot
/dev/sda1 511M 3.4M 508M 1% /boot/efi
/home/karjala/.Private 680G 78G 567G 13% /home/karjala
答案1
我的主机上没有交换区域。因此我按照描述创建了一个交换文件这里这解决了我的问题。我不再收到警告。
答案2
如果您安装了足够的物理内存,您可以尝试以下操作:
- 关闭所有虚拟机。
- 在 VMware 编辑->首选项->内存->附加内存中,将“允许交换部分/大部分虚拟机内存”更改为“将所有虚拟机内存装入保留的主机 RAM”
答案3
这就是我所做的。Ubuntu 20.04.2 LTS VM player 16.1.1 我设置了 2G,需要 8G,所以我给了 16G 以防万一 :)
>sudo swapoff --all -v
swapoff /swapfile
>sudo fallocate -l 16G /swapfile
>sudo swapon --all -v
swapon: /swapfile: found signature [pagesize=4096, signature=swap]
swapon: /swapfile: pagesize=4096, swapsize=2147483648, devsize=17179869184
swapon /swapfile
>free
total used free shared buff/cache available
Mem: 65796988 3256216 19500668 85196 43040104 61725084
Swap: 16777212 0 16777212
现在我需要弄清楚的是如何让 VM Player 看到我的 RX480 卡...有人知道怎么做吗?
答案4
虽然上述解决方案看起来足够了,但我对在安装 14.04.3 时包含 10GB 交换分区这一事实感到困惑。查看后,/etc/fstab
我注意到在安装期间或安装后,交换分区的行已被注释掉。
这一页 (无法挂载 /dev/mapper/cryptswap1) 表明这是一个与加密主目录相关的错误。我使用 GParted 将分区重新格式化为交换分区(因为系统无法识别它),并使用以下命令验证了 UUID(已更改):
sudo blkid
然后我编辑了该行fstab
以包含交换分区的 UUID,并取消注释。重新启动计算机后,整个系统以及 VMWare Workstation 12 Player 都成功识别了交换分区。
虚拟机现在很多更快。这可以解释为什么使用旧版本的 VMWare Player 时运行速度非常慢 - 也许是同一版本没有抱怨缺少交换空间。