Performance problems for vbox-generated image
Posted: 14. Nov 2010, 02:58
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:
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:
So, I looked at its partition table:
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:
Despite the message, there's plenty of space yet:
Can you suggest me other places to spot for potential problems?
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 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 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?