Beim XEN-Produkttest für UCS-2.3 ist aufgefallen, daß auf einem i386-System mit dem 2.6.18er Xen-dom0 Kernel laufend folgende Nachrichten ausgegeben werden: printk: 2957179 messages suppressed. 4gb seg fixup, process clamd (pid 2441), cs:ip 73:b7ce88b8 printk: 3132917 messages suppressed. Die Nachrichten landen sowohl auf der Konsole als auch in den Logfiles "/var/log/{syslog,messages,kern.log}", so daß diese nicht mehr sinnvoll nutzbar sind. Davon sind nahezu durchweg alle Prozesse beteiligt: amavisd-new bash clamd egrep hwclock id init mkdir mrtg nagios2 nmbd nrpe python route sh spamd udevd univention-base univention-conf # uptime ; awk '/messages suppressed/ { sum += $7 } ; END { print sum }' /var/log/messages 01:35:55 up 23 min, 2 users, load average: 0.00, 0.00, 0.03 33_631_776
Das trat früher immer auf, wenn libc6-xen nicht installiert ist. Ist das der Fall?
Ja, ist installiert, wird aber anscheinend nicht genutzt? root@xen2:/var/log/xen# dpkg -l libc6\* ||/ Name Version Beschreibung +++-======================-======================-============================================================ ii libc6 2.7-18.24.200909071651 GNU C Library: Shared libraries ii libc6-dev 2.7-18.24.200909071651 GNU C Library: Development Libraries and Header Files un libc6-i686 <keine> (keine Beschreibung vorhanden) ii libc6-xen 2.7-18.24.200909071651 GNU C Library: Shared libraries [Xen version] un libc6.1 <keine> (keine Beschreibung vorhanden)
Problem scheint nur mit 2.6.18-ucs140-686 [i386] aufzutreten, 2.6.26-ucs30-xen-686 [i386] ist okay. Bei [amd64] sollte das nie vorkommen und wurde dort auch noch nie gesehen.
Ein simpler Aufruf von "ldconfig" scheint das Problem zu beheben.
Created attachment 2146 [details] initramfs Anpassung für libc6-xen
Anscheinend muß in der dom0 auch immer die 'nosegneg'-Variante der libc6 verwendet werden. In der /etc/ld.so.conf.d/libc6-xen.conf steht dazu hwcap 1 nosegneg was aber wohl nicht ausreicht oder funktioniert. Erst bei einer Änderung auf hwcap 0 nosegneg wird die 'nosegneg'-Variante benutzt. (Nachprüfbar mit ldd /bin/true | grep libc) Mit xen-3.4 erscheint stett der vielen Einzelmeldungen beim ersten mal eine sehr prominente Warnmeldung: *************************************************************** *************************************************************** ** WARNING: Currently emulating unsupported memory accesses ** ** in /lib/tls glibc libraries. The emulation is ** ** slow. To ensure full performance you should ** ** install a 'xen-friendly' (nosegneg) version of ** ** the library, or disable tls support by executing ** ** the following as root: ** ** mv /lib/tls /lib/tls.disabled ** ** Offending process: init (pid=342 ** *************************************************************** *************************************************************** U.A. verwendet die erzeugte initramfs weiterhin die "normale" libc6.so, die wohl TLS support hat. Der Bootvorgang wird dadurch zwangsverzögert, ist aber ansonsten wohl harmlos. Alternativ muß in /usr/share/initramfs-tools/hook-functions die Funktion copy_exec() angepasst werden, damit die 'nosegneg' Varianten der Bibliotheken kopiert werden. Erklärung zu 'hwcal': http://lkml.org/lkml/2007/4/24/3
Ich denke das ist mit UCS 3 kein Problem mehr, zumindest ist das in den Tests nicht mehr aufgefallen.