Xen系统中,在其Dom0中,我们可以根据xl info(或者较老的xm info)命令来查看硬件和Xen Hypervisor的各种信息。
下面是我平时测试中的xl info的输出,对其中每一项都做了简单的注释,是自己的一个笔记,希望对Xen用户有所帮助。(对于其中几个我目前拿不准的项,我用FIX ME来标识了。)
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35  | 
						[root@vt-snb7 ~]# xl info host                   : vt-snb7     #Dom0的主机名 release                : 3.1.0-rc7+   #Dom0的内核版本 version                : #1 SMP Mon Mar 26 09:34:05 CST 2012  #Dom0内核编译的时间 machine                : x86_64     #Dom0内核运行的平台 nr_cpus                : 32         #系统中的逻辑CPU数量 max_cpu_id             : 127        #host中可能的最大的CPU编号 nr_nodes               : 2          #NUMA节点的数量 cores_per_socket       : 8	    #每个CPU socket上的core数量 threads_per_core       : 2          #每个core的线程数量(大于1即是超线程) cpu_mhz                : 2693       #CPU的主频 hw_caps                : bfebfbff:2c100800:00000000:00003f40:15bee3ff:00000000:00000001:00000000         #CPU的capabilities,实际上同于/proc/cpuinfo中的flags,是其的另外矢量编码之类 virt_caps              : hvm hvm_directio     #硬件系统关于虚拟化的feature,目前只定义了hvm和hvm_directio(即:VT-d) total_memory           : 32726		#硬件系统的中的内存 free_memory            : 22803		#空闲的内存(未被guest和hypervisor使用的) sharing_freed_memory   : 0			# FIX ME sharing_used_memory    : 0			# FIX ME free_cpus              : 0			# FIX ME xen_major              : 4			#Xen的主版本号 xen_minor              : 2			#Xen的次版本号 xen_extra              : -unstable		#Xen的附加版本号 xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64		 	#Xen的capabilities,支持32位和64位的PV和HVM虚拟机 xen_scheduler          : credit			#当前Xen的CPU调度算法 xen_pagesize           : 4096			#Xen一次块设备上读取数据的大小,单位是bytes platform_params        : virt_start=0xffff800000000000		#从这个地址之后就是hypervisor占用的 xen_changeset          : Fri Mar 23 20:51:48 2012 +0000 25099:4bd752a4cdf3	#Xen的changeset xen_commandline        : dom0_mem=2048M iommu=1 loglvl=all guest_loglvl=all msi=1 hap_1gb=1 conring_size=4M        #grub中xen启动时的命令行 cc_compiler            : gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)   #本次Xen hypervisor的编译器 cc_compile_by          : build			#编译Xen的用户名 cc_compile_domain      : sh.intel.com	        #编译Xen的机器的所在的域 cc_compile_date        : Mon Mar 26 09:30:56 CST 2012	#编译Xen的时间 xend_config_format     : 4	#配置文件的格式,目前是4,对xl已经不太重要了,XL不用Xend了  | 
					
需要注意的是:
对于系统中总的CPU和内存的信息,应该看xl info输出的信息,而不是看free命令或者/proc/cpuinfo里面的信息,因为在Dom0中free或者/proc/cpuinfo看到的信息只是Xen分配给Dom0使用的部分。Dom0也是一个Guest,是一个有特权的guest而已。
另外,目前,有超线程支持的1个Core是算2个逻辑CPU。
我本例中,Xen的版本号就是:4.2-unstable
如果要编译module和guest kernel,其编译器需要与xl info中hypervisor的编译器兼容。
笑遍世界,我哭到在地