Performance problems for vbox-generated image

Discussions related to using VirtualBox on Mac OS X hosts.
Post Reply
ervalerio
Posts: 1
Joined: 14. Nov 2010, 02:47
Primary OS: Mac OS X Leopard
VBox Version: OSE other
Guest OSses: Linux Ubuntu

Performance problems for vbox-generated image

Post by ervalerio »

Hello,

I use VirtualBox 3.2.10 on my iMac as host machine (10.6.4), to generate images to deploy on a cluster.
The images are made out of the latest ubuntu-server edition. Once I finish configuring the virtual-machine, I create a deployable image with the command:

Code: Select all

VBoxManage clonehd --format RAW 2236ff8b-c701-4f26-819e-378243f37492 from-snapshot.img 
The, the image is deployed, and it boots fine on the now-phisical machine.
But, it has very poor performances, for the set of applications I run on top of it (some ruby-on-rails application which runs just fine when used on a physical machine).

Looking at top you can see it is extremely charged, as if it's doing an incredible amount of work..which is not:

Code: Select all

top - 01:56:02 up 5 days,  6:17,  5 users,  load average: 9.09, 10.81, 10.99
Tasks: 161 total,   2 running, 159 sleeping,   0 stopped,   0 zombie
Cpu(s): 18.1%us,  1.3%sy,  0.0%ni, 79.4%id,  0.0%wa,  0.0%hi,  1.1%si,  0.0%st
Mem:   3342520k total,  3183212k used,   159308k free,    40816k buffers
Swap:   397308k total,    34052k used,   363256k free,   680100k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                     
29552 splayctr  20   0 24244  17m 1124 S    5  0.5 116:23.56 ruby                                                                                                                                         
29530 splayctr  20   0  104m  97m 1964 R    3  3.0 441:13.93 ruby                                                                                                                                         
29553 splayctr  20   0 26352  19m 1108 S    3  0.6 108:14.85 ruby                                                                                                                                         
29523 splayctr  20   0  206m 197m 1964 S    3  6.0 561:49.71 ruby                                                                                                                                         
29526 splayctr  20   0  111m 105m 1964 S    3  3.2 440:55.35 ruby                                                                                                                                         
29527 splayctr  20   0  105m  99m 1964 S    3  3.1 439:45.29 ruby                                                                                                                                         
29534 splayctr  20   0  100m  94m 1964 S    3  2.9 438:42.17 ruby                                                                                                                                         
29528 splayctr  20   0 97.8m  91m 1964 S    2  2.8 440:53.93 ruby                                                                                                                                         
29529 splayctr  20   0  103m  96m 1964 S    2  2.9 440:43.98 ruby                                                                                                                                         
29522 splayctr  20   0 95940  87m 1964 S    1  2.7 436:51.07 ruby                                                                                                                                         
29525 splayctr  20   0  175m 168m 1964 S    1  5.2 561:32.96 ruby                                                                                                                                         
29532 splayctr  20   0  106m  99m 1964 S    1  3.1 438:21.35 ruby                                                                                                                                         
29533 splayctr  20   0  104m  97m 1964 S    1  3.0 437:33.18 ruby                                                                                                                                         
29535 splayctr  20   0 96964  88m 1964 S    1  2.7 437:17.43 ruby                                                                                                                                         
29536 splayctr  20   0  103m  97m 1964 S    1  3.0 437:47.19 ruby                                                                                                                                         
29539 splayctr  20   0  102m  95m 1964 S    1  2.9 437:56.87 ruby                                                                                                                                         
29537 splayctr  20   0  106m 100m 1964 S    1  3.1 436:08.81 ruby   




So, I looked at its partition table:

Code: Select all

#mount
/dev/mapper/splayctrl-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /var/lib/ureadahead/debugfs type debugfs (rw,relatime)
/dev/sda1 on /boot type ext2 (rw)
I'm not expert enough to say whether this configuration leads to serious performance bottlenecks..but maybe there are experts on this forum to help me.

I ran the bonnie benchmark on this machine, and it crashes badly. here's the result as via strace:

Code: Select all

#strace bonnie
...
...
gettimeofday({1289746528, 39336}, NULL) = 0
gettimeofday({1289746528, 39388}, NULL) = 0
write(3, "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[["..., 8192) = 8192
gettimeofday({1289746528, 39528}, NULL) = 0
gettimeofday({1289746528, 39580}, NULL) = 0
write(3, "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[["..., 8192) = -1 ENOSPC (No
space left on device)
write(2, "Can't write block.: No space lef"..., 44Can't write block.:
No space left on device
) = 44
write(2, "Can't write block 745111.\n", 26Can't write block 745111.
) = 26
fsync(3)                                = 0
close(3)                                = 0
unlink("./Bonnie.10657")                = 0
close(-1)                               = -1 EBADF (Bad file descriptor)
close(-1)                               = -1 EBADF (Bad file descriptor)
close(-1)                               = -1 EBADF (Bad file descriptor)
close(-1)                               = -1 EBADF (Bad file descriptor)
exit_group(1)                           = ?

Despite the message, there's plenty of space yet:

Code: Select all

df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             7.5G  1.5G  5.7G  21% /
none                  1.6G  200K  1.6G   1% /dev
none                  1.6G     0  1.6G   0% /dev/shm
none                  1.6G   40K  1.6G   1% /var/run
none                  1.6G     0  1.6G   0% /var/lock
none                  7.5G  1.5G  5.7G  21% /var/lib/ureadahead/debugfs

Can you suggest me other places to spot for potential problems?
Post Reply