Line 14: | Line 14: | ||
[http://www.redhat.com/mailman/listinfo/fedora-virt fedora-virt list]. | [http://www.redhat.com/mailman/listinfo/fedora-virt fedora-virt list]. | ||
==== KSM Tuning ==== | ==== KSM Tuning in Fedora 12 ==== | ||
[[MarkMcLoughlin|Mark McLoughlin]] | [[MarkMcLoughlin|Mark McLoughlin]] | ||
described<ref>http://www.redhat.com/archives/fedora-virt/2009-October/msg00119.html</ref> | described<ref>http://www.redhat.com/archives/fedora-virt/2009-October/msg00119.html</ref> | ||
Line 55: | Line 55: | ||
Memory pages must be flagged as mergable before KSM will scan them looking for | Memory pages must be flagged as mergable before KSM will scan them looking for | ||
duplicates. At present only | duplicates. At present only Qemu pages will be marked as such. | ||
As described in the kernel docs<ref>http://www.kernel.org/doc/Documentation/vm/ksm.txt</ref>, | As described in the kernel docs<ref>http://www.kernel.org/doc/Documentation/vm/ksm.txt</ref>, | ||
the effect of KSM system memory may be examined in {{filename|/sys/kernel/mm/ksm}}. | the effect of KSM system memory may be examined in {{filename|/sys/kernel/mm/ksm}}. |
Revision as of 04:02, 2 November 2009
Virtualization
In this section, we cover discussion of Fedora virtualization technologies on the @fedora-virt and @virt-tools lists..
Contributing Writer: Dale Bewley
Fedora Virtualization List
This section contains the discussion happening on the fedora-virt list.
KSM Tuning in Fedora 12
Mark McLoughlin
described[1]
the default state of KSM[2] on Fedora systems.
"For Fedora 13, it'll be off by default in the kernel and the recommended
way of switching it on is with 'chkconfig ksm on'"
"For Fedora 12, it's on by default in the kernel, 'chkconfig ksm on' just changes max pages and the only way of disabling it is by manually
writing zero to /sys/kernel/mm/ksm/run
."
At release of Fedora 12 the kernel will default to a maximum of 2000 merged memory pages. A future F12 kernel update to 2.6.32 will likely disable KSM by default.
To take advantage of KSM in Fedora 12, the ksm
service must be enabled:
sudo chkconfig ksm on
Mark McLoughlin
also noted[3]
The maximum number of pages which may be merged defaults to half of the system
memory, and may also be manually defined in /etc/sysconfig/ksm
.
"Here's the logic we have in the init script[4]:"
# unless KSM_MAX_KERNEL_PAGES is set, let ksm munch up to half of total memory. default_max_kernel_pages () { local total pagesize total=`awk '/^MemTotal:/ {print $2}' /proc/meminfo` pagesize=`getconf PAGESIZE` echo $[total * 1024 / pagesize / 2] }
Justin Forbes points out[5] "The limit to half of total memory is because ksm pages are unswappable at this time. To be fixed in a future kernel."
A second service, ksmtuned
, may also be enabled.
Ksmtuned regulates how aggressively the system will attempt to merge pages.
Parameters such as how many pages to scan before sleeping and how long to
sleep may be configured in /etc/ksmtuned.conf
.
Memory pages must be flagged as mergable before KSM will scan them looking for
duplicates. At present only Qemu pages will be marked as such.
As described in the kernel docs[6],
the effect of KSM system memory may be examined in /sys/kernel/mm/ksm
.
"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."
- ↑ http://www.redhat.com/archives/fedora-virt/2009-October/msg00119.html
- ↑ http://fedoraproject.org/wiki/Features/KSM
- ↑ http://www.redhat.com/archives/fedora-virt/2009-October/msg00112.html
- ↑ http://gitorious.org/ksm-control-scripts/ksm-control-scripts
- ↑ http://www.redhat.com/archives/fedora-virt/2009-October/msg00115.html
- ↑ http://www.kernel.org/doc/Documentation/vm/ksm.txt