Xen FAQ Dom0
Why cannot I see all my RAM on my Dom0?
Domain 0 is a paravirt VM in reality, so the amount of ram you allocate to it is what you will see when using local tools like free, /proc/meminfo, top, etc.
To see the full system ram, you need to use the xm tools... and in this case, 'xm info' which will show you all the system resources, as opposed to the resources available to dom0.
Also, you have 16GB ram on the system... you probably already know this, but be aware that without a PAE enabled kernel (if you're using 32bit Xen) you'll only see 4GB of this. PAE will allow you to use up to 16, or maybe 32 (I don't remember what the upper limit for PAE enabled Xen is off the top of my head).
Is there any way of checking DomU's I/O from Dom0?
iostat (Debian: sysstat-package)
Can I allocate one CPU to the Dom0 exclusively?
Add this to the kernel boot line - dom0_max_vcpus=1 & dom0_vcpus_pin
Edit /etc/xen/xend-config.sxp - set (dom0-cpus 1) then reboot Dom0.
To try on an active system without a Reboot, use the following commands -
# xm vcpu-set 0 1 # xm vcpu-pin 0 0 0
Running xm info I see the following memory available; what does the free memory mean?
total_memory : 2046 free_memory : 5
Free_memory from "xm info" shows memory not allocated to any domain (inlcuding dom0). "free", "top" (or whatever) shows free memory on that particular domain (in your case, dom0). You can adjust memory allocation per domain using "xm mem-set".