使用Serial Over Lan(SOL)來雙機調試 XEN,在 XEN 啓動時,引導信息輸出到如下這一句時,就再也不發送調試信息了:api
...
(XEN) Intel machine check reporting enabled (XEN) I/O virtualisation disabled (XEN) Enabled directed EOI with ioapic_ack_old on! (XEN) ENABLING IO-APIC IRQs (XEN) -> Using old ACK method (XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1 (XEN) Platform timer is 14.318MHz HPET (
至關奇怪,輸出到上文的「(」時就再也不有調試信息了,只有當 XEN 所在的 Linux 關機時,斷電的瞬間才把剩下的全部調試信息一會兒發送到接收端。後來查了相關信息,原來是由於 XEN 異步輸出信息時會與 Intel AMT 相沖突。解決辦法很簡單,在 grub 中的「kernel」那一行中增長一個參數便可:「sync_console」:app
title CentOS (3.1.2-xen-SOL) root(hd0,0) kernel /xen.gz dom0_mem=512M loglvl=all guest_loglvl=all sync_console console_to_ring console=vga,com1 com1=115200,8n1,0x1808,17 module /vmlinuz-3.1.2 ro root=/dev/mapper/vg_livecd-lv_root console=hvc0 console=tty0 earlyprintk=xen module /initramfs-3.1.2.img
這時再重啓查看調試信息,問題就解決了,同時XEN的調試信息中也給出了提醒:dom
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1...
大概意思就是爲了調試方即可以添加這一項,可是在生成產品時要把這參數去掉,不然會影響性能。異步