Hi,
I'm using the VMWare Player installed on Ubuntu, to work on ROS, which turns out that it requires heavy graphics capabilities.
currently the VMware Player settings are as following:
- RAM 10.4 GB
- Processor 4 Cores
- Graphic memory is 256MB (Grayed out, cant change it)
What can I do to increase the performance/speed while working on ROS?
What is your host system spec?
- RAM 16GB
- Processor i5 2.9GHz
- Graphic card is 4GB
Processor has how many cores?
4 Cores
So you’ve allocated all of them to the VM, try reducing to 3 and see what happens.
it is hard to tell what exactly going wrong, can you give more details?
What version of VMware are you using?
Did you enable 3D acceleration?
Did you install Vmware tools?
I have been using VMware for a while now, and its graphic performance is almost identical to the host, I can't even tell the difference.
As an addition to the above:
You need to FIRST check what is REALLY the bottleneck. Task Manager and other tools are good. For disk performance, there is specific test software, too.
- out of RAM? If Host is out of RAM everything is very slow, never do that
- is your software disk-performance critical? Never, I mean never today, use a HDD. Run VMs only on SSDs, regular or later technology
- is your 3D acceleration really using your hardware on Host? It might not, if your Host has dual graphics. There are other recent threads here, which tell you how to check and how to manipulate. Just search for graphics performance under Player
- if you use OpenGL, is your Host graphics card working right? I mean, almost none of them are certified to OpenGL and might not be any good. A faulty working (I mean there are many aspects to this, like using multiple graphics levels, which are a must with graphical applications) card, will affect everything. Try without hardware acceleration ... is that even better? Remedy, in short, is better drivers or a better card for OpenGL (the very cheapest ones may not work correctly in OpenGL)
- using all the processing power of the Host is not a good idea. Thus allocation all the cores to the VM might slow down your system. This was already mentioned above.
For some reason, there's no lower option, it's 4, 8,12, 16.
However when I run the VM with 4 cores, the host performs as usual, no effect whatsoever.
Ok, so I ran the task manager while using my heavy application (ROS & RViz) at it's peak, please refer to the screenshot attached.
I'm using SSD, and as you can see there's no issues with the RAM and CPU...it's probably a graphics card thing.
How do I know if the VM is using the host's hardware i.e. Graphic card (4GB Nvidia GeForce GTX 1050 Ti)
Regarding using all processing power, as I mentioned in a previous reply, I don't have an option to choose less than 4 cores, however, the host processing performance is not affected at all
To install VMware tools on Linux use these command
sudo apt install open-vm-tools open-vm-tools-desktop
I am not sure how VMware player 16 behaves in Linux hosts, but in Windows it uses more 4GB memory for the mksSandbox process, so your guest it might be using 14.4GB which will leave only 1.6GB for the host which is too low, you might consider decreasing the memory for the guest to 8GB instead. I would agree with @RaSystemlord that 16GB is not enough for professional use, esp with Virtual Machines, I have 64GB and a lot of times I found my self out of memory
I am hoping you are closing all other processes in the host, I can see you were opening Chrome, which is memory and CPU hungry.
the fact that the option 3D acceleration is grayed out makes me wonder the graphic is not installed probably in the host. can you please return the result of this following command for the host and the guest please.
lspci | grep VGA
Problem solved.
I simply couldn't change the graphic memory because the VMware was suspended but not powered-off...that's all.
so I changed the graphic memory to 2GB (max), and now its running smoothly.
Thank you all