KSM – Kernel Samepage Merging (memory deduplication)

Im Linux Kernel 2.6.32 wurde ein interessantes Feature mit dem Namen Kernel Samepage Merging (memory deduplication) freigegeben.
Kernel Samepage Merging, kurz KSM (in der Vergangenheit auch als Kernel Shared Memory bekannt) ist eine Implementierung um Speicherinhalt mit den selben Inhalt zu finden und zu zusammenzuführen.
Modere Betriebssysteme nutzen intensiv Shared Memory, für Share Libraries usw. Die Virtualiserung, wie KVM, kann davon nicht profitieren. Jedes Gast-System hat den gleichen Kernel und die gleichen Bibliotheken, so sind viele Hauptspeicherseiten identisch. KSM ermöglicht es der Virtualisierung, daß  mehrere Gast-Systeme sich gleiche Hauptspeicherseiten gemeinsam teilen. KSM ist als Kernel-Daemon geschrieben, der periodisch den Speicher nach identischen Hauptspeicherseiten durchsucht und diese durch eine schreibgeschützte einzige Speicherseite ersetzt.
Wird diese Seite automatisch wieder aufgeteilt, wenn ein Update auf die Speicherseite erfolgt. Die Speicherbereiche, die KSM nach Kandidaten durchsucht werden, sind durch Userspace Applikationen, die madvice(2) benutzen,  definiert.
Laut RedHat ist es mit KVM und KSM möglich, auf einem Host mit 16 GB RAM, 52 Windows XP Gastsysteme mit 1 GB RAM lauf zu lassen.
KSM ist für KVM ursprünglich entwickelt worden, kann aber mit jedem anderen Virtualisierungssystem zusammenarbeiten.
Der KSM Damon wird über das sysfs-Dateisystem verwaltet, der Pfad ist /sys/kernel/mm/ksm/.
Mehr Informationen finden sie in der Dokumentation unter kernel.org.

Wordpess 3.0 Meldung: Briefly unavailable for scheduled maintenance. Check back in a minute.

Problem:
Nach der  Umstellung auf WordPress 3.0 bekam ich folgende Meldung: Briefly unavailable for scheduled maintenance. Check back in a minute.
Lösung:
Bei der Umstellung von WordPress 2.9.2 auf WordPress 3.0 wurde eine Datei im Root-Verzeichnis der WordPress-Instanz angelegt mit dem Namen “.maintenance”. Läuft irgendetwas schief bei dem Upgrade wird diese Datei nicht enfernt.
Diese Datei löschen und die WordPress-Instanz sollte wieder einwandfrei funktionieren.

Probleme bei der Umstellung auf WordPress 3.0 mit Arras Theme und Multi-Level-Navigation Plugin

Problem:
Nach der Umstellung von WordPress 2.9.2 auf WordPress 3.0 wurde meine Navigationsleiste im Arras Theme nicht mehr angezeigt
Lösung:
In der Theme-Datei header.php ist die Reihenfolge der Abfrage auf die verwendeten Menüs nicht richtg. WordPress 3.0 bringt eine eigene Menü-Funktion mit dem Namen wp_nav_menu mit. In Zeile 94 der header.php wird zuerst auf diese Funktion abgefragt und deshalb das Multi-Level-Navigation Plugin nicht mehr berücksichtigt.
Die Reihenfolge der Abfrage sollte so aussehen:

<?php
if ( function_exists(‚pixopoint_menu‚) ) {
pixopoint_menu();
}
elseif ( function_exists(‚wp_nav_menu‚) ) {
wp_nav_menu( array( ’sort_column‘ => ‚menu_order‘, ‚menu_class‘ => ’sf-menu menu clearfix‘) );
} else { ?>
<ul>
<li><a href=“<?php bloginfo(‚url‘) ?>“><?php _e( arras_get_option(‚topnav_home‘) ); ?></a></li>
<?php
if (arras_get_option(‚topnav_display‘) == ‚pages‘) {
wp_list_pages(’sort_column=menu_order&title_li=‘);
} else if (arras_get_option(‚topnav_display‘) == ‚linkcat‘) {
wp_list_bookmarks(‚category=‘.arras_get_option(‚topnav_linkcat‘).’&hierarchical=0&show_private=1&hide_invisible=0&title_li=&categorize=0&orderby=id‘);
} else {
wp_list_categories(‚hierarchical=1&orderby=id&hide_empty=1&title_li=‘);
}
?>
</ul>
<?php } ?>

<?php        if ( function_exists(‚pixopoint_menu‘) ) {                pixopoint_menu();        }        elseif ( function_exists(‚wp_nav_menu‘) ) {                wp_nav_menu( array( ’sort_column‘ => ‚menu_order‘, ‚menu_class‘ => ’sf-menu menu clearfix‘) );        } else { ?>                <ul>                        <li><a href=“<?php bloginfo(‚url‘) ?>“><?php _e( arras_get_option(‚topnav_home‘) ); ?></a></li>                        <?php                        if (arras_get_option(‚topnav_display‘) == ‚pages‘) {                                wp_list_pages(’sort_column=menu_order&title_li=‘);                        } else if (arras_get_option(‚topnav_display‘) == ‚linkcat‘) {                                wp_list_bookmarks(‚category=‘.arras_get_option(‚topnav_linkcat‘).’&hierarchical=0&show_private=1&hide_invisible=0&title_li=&categorize=0&orderby=id‘);                        } else {                                wp_list_categories(‚hierarchical=1&orderby=id&hide_empty=1&title_li=‘);                        }                        ?>                </ul>        <?php } ?>

Eine Alternative wäre die Menü-Funktion von WordPress 3.0 zu deaktivieren. Aber das würde ich persönlich nicht machen.