On 01/30/2014 03:58 PM, Richard W.M. Jones wrote:
On Thu, Jan 30, 2014 at 11:50:35AM +0530, Kashyap Chamarthy wrote:
>> - Single `make` job timing to compile everything:
>>
>> real 31m9.792s
>> user 17m18.359s
>> sys 13m17.868s
>
> For comparison, on the _host_, the same single `make` job timing:
>
> real 13m41.440s
> user 13m5.816s
> sys 1m9.911s
This is timing the build only?
Yes.
(I wonder if Btrfs matters here.)
I'm surprised it is slower in the container. Is memory or # CPUs
limited?
I haven't done cgroups tuning or deep introspection or any such. It's
just a default invocation of `systemd-nspawn`. That said, from inside
the container:
=========
-bash-4.2# cat /proc/cpuinfo | grep processor | wc -l
48
-bash-4.2# free -m
total used free shared buffers cached
Mem: 64259 12461 51798 49 1 10757
-/+ buffers/cache: 1703 62556
Swap: 13996 0 13996
-bash-4.2#
=========
The machine is Intel(R) Xeon(R) CPU E7- 4807 @ 1.87GHz, it has 48
processors and 60 GB memory
>>
>> - `make -k check` is still running as I write this, albeit
>> a bit slow.
>
> This just finished (in the container):
>
> [. . .]
> grep -v -E '^(examples|gnulib|perl/(blib|examples)|po-docs|tests)/' | \
> grep -v -E '/((guestfs|rc)_protocol\.c)$' | \
> LC_ALL=C sort > po/POTFILES
> cd .; \
> find builder mllib resize sparsify sysprep -name '*.ml' | \
> LC_ALL=C sort > po/POTFILES-ml
> make[1]: Leaving directory `/root/libguestfs'
> make: *** [check-recursive] Error 1
> GEN public-submodule-commit
> make: Target `check' not remade because of errors.
>
> real 474m53.630s
> user 325m54.254s
> sys 205m58.032s
>
> -bash-4.2# git log | head -1
> commit c841d08d7084db69e81614d54423686cf0566ad6
>
>
> Again, for comparison, `make -k check` on _host_:
>
> real 63m1.078s
> user 54m39.393s
> sys 12m8.130s
Is KVM available in the container? I've never tried that actually ..
No it isn't (as Dan noted in his next thread)
=========
-bash-4.2# file /dev/kvm
/dev/kvm: ERROR: cannot open `/dev/kvm' (No such file or directory)
=========
-bash-4.2# virt-host-validate
QEMU: Checking for hardware virtualization
: PASS
QEMU: Checking for device /dev/kvm
: FAIL (Check that the 'kvm-intel' or 'kvm-amd' modules are loaded
& the BIOS has enabled virtualization)
QEMU: Checking for device /dev/vhost-net
: WARN (Load the 'vhost_net' module to improve performance of
virtio networking)
QEMU: Checking for device /dev/net/tun
: FAIL (Load the 'tun' module to enable networking for QEMU guests)
LXC: Checking for Linux >= 2.6.26
: PASS
=========
Despite reading from the `systemd-nspawn` man page:
". . .kernel modules may not be loaded from within the container."
I purposefully tried from inside the container:
=========
-bash-4.2# modprobe kvm_intel
-bash-4.2# echo $?
1
-bash-4.2# file /dev/kvm
/dev/kvm: ERROR: cannot open `/dev/kvm' (No such file or directory)
-bash-4.2#
=========
I suppose the next step is to make LIBGUESTFS_BACKEND=libvirt:lxc:///
work!
Rich.
--
/kashyap