KSM: was ist eine "gute" Rate?

10/02/2011 - 09:59 von E. Braun | Report spam
Seit Kernel 2.6.32 beherrscht Linux das /Kernel Samepage Merging/
(KSM), womit identische Speicherseiten nur einmal verfügbar sein
müssen. Documentation/vm/ksm.txt sagt zur Effektivitàt:

A high ratio of pages_sharing to pages_shared indicates good
sharing, but a high ratio of pages_unshared to pages_sharing
indicates wasted effort.

Aber was heißt "high ratio" nun genau? Oder konkret gefragt: lohnt
sich der Einsatz von KSM auf einem aktuellen Linux mit 4
KVM-Instanzen, wenn sich folgende Werte ergeben:

# echo $(cat /sys/kernel/mm/ksm/pages_sharing) / $(cat /sys/kernel/mm/ksm/pages_shared) | bc -l
2.14050112481576293538
# echo $(cat /sys/kernel/mm/ksm/pages_unshared) / $(cat /sys/kernel/mm/ksm/pages_sharing) | bc -l
7.67899910116268955319


Gruß, Erik
 

Lesen sie die antworten

#1 Michael Ziegler
13/02/2011 - 11:58 | Warnen spam
On 10.02.2011 09:59, E. Braun wrote:
Aber was heißt "high ratio" nun genau?



Ich poste einfach mal die Werte, die ich auf meinen Kisten erreiche.

glint:~$ echo $(($(cat /sys/kernel/mm/ksm/pages_sharing) / $(cat
/sys/kernel/mm/ksm/pages_shared)))
4
glint:~$ echo $(($(cat /sys/kernel/mm/ksm/pages_unshared) / $(cat
/sys/kernel/mm/ksm/pages_sharing)))
2
glint:~$ greps /usr/bin/kvm | wc -l
4

srvopenqrmkvm01:~$ echo $(($(cat /sys/kernel/mm/ksm/pages_sharing) /
$(cat /sys/kernel/mm/ksm/pages_shared)))
10
srvopenqrmkvm01:~$ echo $(($(cat /sys/kernel/mm/ksm/pages_unshared) /
$(cat /sys/kernel/mm/ksm/pages_sharing)))
0
srvopenqrmkvm01:~$ greps /usr/bin/kvm | grep -vi screen | wc -l
6

srvknecht01:~$ echo $(($(cat /sys/kernel/mm/ksm/pages_sharing) / $(cat
/sys/kernel/mm/ksm/pages_shared)))
4
srvknecht01:~$ echo $(($(cat /sys/kernel/mm/ksm/pages_unshared) / $(cat
/sys/kernel/mm/ksm/pages_sharing)))
1
srvknecht01:~$ greps /usr/bin/kvm | grep -vi screen | wc -l
3

Oder konkret gefragt: lohnt sich der Einsatz von KSM auf einem
aktuellen Linux mit 4 KVM-Instanzen, wenn sich folgende Werte
ergeben:

# echo $(cat /sys/kernel/mm/ksm/pages_sharing) / $(cat /sys/kernel/mm/ksm/pages_shared) | bc -l
2.14050112481576293538
# echo $(cat /sys/kernel/mm/ksm/pages_unshared) / $(cat /sys/kernel/mm/ksm/pages_sharing) | bc -l
7.67899910116268955319



Wenn ich mir meine Werte so ansehe nein...

Kommt halt immer drauf an, wenn du viele àhnliche VMs hast (also
gleiches Gast-OS, àhnliche Ausstattung mit Software), ist KSM am
wirkungsvollsten weil viele gleiche Speicherseiten existieren. Bei mir
(viele Linuxe, Mischung aus SLES, OpenSUSE und Debian, allesamt
webdev-Maschinen + ein Windows) ist das der Fall, bei dir scheinbar
nicht. :)

Grüße,
Michael

Ähnliche fragen