UML Debian Virtual Machines are very slow

Asked by Saverio Proto on 2011-03-08

marionnet was installed with automatic script. All was good with the installation.

Virtual Machines are incredibly slow. Looks like a disk bottleneck.

We tried both with a ubuntu 10.04 and ubuntu 10.10

The scenario we tried is a single machine connected with a cable to the Internet Gateway.

We just run dhclient and "apt-get update". The update after several minutes still does not end.
CPU and RAM in the host machine are fine, it is not a problem of host machine too slow.

Maybe this can be fixed installing marionet by hand ? how to debug this problem ?

Question information

Language:
English Edit question
Status:
Answered
For:
marionnet Edit question
Assignee:
No assignee Edit question
Last query:
2011-03-08
Last reply:
2011-03-11
Luca Saiu (saiu) said : #1

I remember observing something similar in the past. I thought the problem was essentially the creation of very big "cow" files (http://user-mode-linux.sourceforge.net/old/UserModeLinux-HOWTO-7.html#ss7.2 ); but it shouldn't be *very* slow, in my reasoning... Each filesystem block write in the guest system should entail a filesystem block write in the sparse "cow" file on the host, which generally enlarges it. So what? Why does it have to be slow? Could it be the host filesystem's fault?
So if the problem is really a UML efficiency issue, then optimizing your use case seems nontrivial: we can't even temporarily mount some other non-layered filesystem for /var, do the update and then generate a cow, because there is no "diff" utility to extract a cow from a modified filesystem after the update (there is uml_moo, which does the equivalent of patch).

I don't have any other theories. Can Jean-Vincent or Frank think of something else?

Since I can't really help you, let me provide at least some funny trivia: when googling "slow cow" I've found this:
http://en.wikipedia.org/wiki/Slow_Cow
:-)

Sorry,

May be the problem is an option of the kernel :

"Always do synchronous disk IO for UBD" (CONFIG_BLK_DEV_UBD_SYNC)

I tried with a 2.6.32 compiled by Jonathan Roudiere and it works far much better
(see /proc/config.gz for the options chosen when kernel compilation is done).

See www.marionnet.org/download/ghost-kernel-2.0

However I still have small little problems with this new (extended) ghostification patch.

If you have encountered the problem of a freezing apt-get update,
hit CTRL C and restart the apt-get update. It will complain about public keys but this is normal.

Anyway new (upgraded) virtual machines and new kernels will be provided in a few weeks...

Can you help with this problem?

Provide an answer of your own, or ask Saverio Proto for more information if necessary.

To post a message you must log in.