From Fedora Project Wiki

(Created page with '= KVM Huge Page Backed Memory = == Sommario == Enable KVM guests to use huge page backed memory in order to reduce memory consumption and improve performance by reducing CPU ca...')
 
No edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= KVM Huge Page Backed Memory =
{{old}}
= Pagine di memoria di grandi dimensioni (4MB) per ospiti KVM =


== Sommario ==
== Sommario ==
 
Abilita gli ospiti KVM ad usare pagine di memoria di grandi dimensioni per ridurre il consumo di memoria e migliorare le prestazioni riducendo la pressione sulla cache da parte della CPU.  
Enable KVM guests to use huge page backed memory in order to reduce memory consumption and improve performance by reducing CPU cache pressure.


== Progettista ==
== Progettista ==
* [[User:Chrisw|Chris Wright]], [mailto:chrisw@redhat.com chrisw@redhat.com]
* [[User:Chrisw|Chris Wright]], [mailto:chrisw@redhat.com chrisw@redhat.com]
* [[User:JohnCooper|John Cooper]], [mailto:john.cooper@redhat.com john.cooper@redhat.com]
* [[User:JohnCooper|John Cooper]], [mailto:john.cooper@redhat.com john.cooper@redhat.com]


== Current status ==
== Stato corrente ==
 
* Rilascio: [[Releases/12| Fedora 12]]
* Targeted release: [[Releases/12|Fedora 12]]
* Per informazioni aggiornate sullo stato di ''KVM Huge Page Backed Memory'' consultare la [[Features/KVM Huge Page Backed Memory#Current_status | pagina originale]].
* Last updated: 2009-09-24
* Percentage of completion: 100%
 
An [https://bugzilla.redhat.com/515741 SELinux issue in the kernel] still remains, preventing full sVirt protection being applied to huge pages.
 
=== Completed ===
 
# KVM support for huge pages
# libvirt [http://www.redhat.com/archives/libvir-list/2009-July/msg00699.html patch posted] for running guests with <code>-mem-path /dev/hugepages</code>
# libvirt [http://www.redhat.com/archives/libvir-list/2009-July/msg00753.html patch-v2 posted] which detects the host's hugetlbfs mount point automatically.
# Identify [https://bugzilla.redhat.com/515741 SELinux issue in the kernel]
# Get the libvirt patch committed to libvirt-0.7.1
 
== Detailed Description ==
 
x86 CPUs usually address memory in 4kB pages, but they also have the ability to use huge pages (4MB on x86_32, 2MB on x86_64 and x86_32 PAE).
 
By using huge pages for a KVM guest's memory, less memory is used for page tables and TLB misses are reduced, thereby increasing performance.


Using huge pages for guest memory does have a downside, however - you can no longer swap nor balloon guest memory.
Rimane tuttavia un [https://bugzilla.redhat.com/515741 problema di SELinux nel kernel (en)], che impedisce di applicare piena protezione di sVirt a memoria paginata di grandi dimensioni.


In order to use huge pages with KVM, one must do the following:
== Descrizione dettagliata ==
Le CPU x86 solitamente accedono ad aree di memoria, cosiddetta paginata, di dimensione di 4KB, ma possono tranquillamente usare pagine anche più grandi (p.e. 4MB su x86_32, 2MB su x86_64 e x86_32 PAE).<BR>
Usando pagine di memoria di grandi dimensioni per un ospite KVM, occorrerà meno memoria per le tabelle delle pagine e si ridurranno le eccezioni di TLB (Translation Lookaside Buffer) invocate dal S.O., e tutto ciò comporterà un incremento nelle prestazioni del S.O.
Tuttavia, ciò presenta comunque uno svantaggio - non si potrà più utilizzare il ''balloon driver'' o la tecnica dello ''swapping'' sulla memoria ospite. 


# Mount hugetlbfs to <code>/dev/hugepages</code> - <code>mount -t hugetlbfs hugetlbfs /dev/hugepages</code>
Per usare pagine di memoria di grandi dimensioni con KVM, occorre effettuare i passi seguenti:
# Reserve some memory for huge pages - <code>sysctl vm.nr_hugepages=516</code>
# Montare hugetlbfs su <code>/dev/hugepages</code><pre>mount -t hugetlbfs /dev/hugepages</pre>
# Pass the hugetlbfs path to <code>qemu-kvm</code> - <code>qemu-kvm -mem-path /dev/hugepages</code>
# Riservare memoria per le pagine <pre>sysctl vm.nr_hugepages=516</pre>
# Indicare il percorso di hugetlbfs a <code>qemu-kvm</code><pre>qemu-kvm -mem-path /dev/hugepages</pre>


This feature aims to improve allow huge pages to be used with libvirt managed guests.
La caratteristica di questo progetto serve a incrementare la capacità di usare pagine di memoria di grandi dimensioni su ospiti gestiti da libvirt.


== Benefit to Fedora ==
== Vantaggi per Fedora ==
Assicurare una migliore prestazione agli ospiti KVM di Fedora.


Enables Fedora KVM hosts to achieve better performance.
== Documentazione ==
* Un vecchio [http://www.linux-kvm.com/content/get-performance-boost-backing-your-kvm-guest-hugetlbfs tutorial] (in en ''sigh'')


== Altre informazioni ==  
== Altre informazioni ==  
Per:
Per:
* Obbiettivi
* Obiettivi
* Test Plan
* Test Plan
* Esperienza Utente
* Esperienza Utente
* Dipendenze
* Dipendenze
* Progetto corrente
* Progetto corrente
* Documentazione
* Note di rilascio
* Note di rilascio
* Commenti e Discussioni  
* Commenti e Discussioni  
Line 59: Line 45:
consultare la [[Features/KVM Huge Page Backed Memory | pagina originale]] di questo documento.
consultare la [[Features/KVM Huge Page Backed Memory | pagina originale]] di questo documento.


[[Category:Italiano]]
[[Category:F-12 Features IT|{{SUBPAGENAME}}]]
[[Category:Virtualization IT|{{SUBPAGENAME}}]]


[[Category:Virtualization|KVM Huge Page Backed Memory]]


[[Category:FeatureAcceptedF12]]
[[Category:FeatureAcceptedF12]]
 
[[Category:Virtualization|KVM Huge Page Backed Memory]]
[[Category:F12_Virt_Features|KVM Huge Page Backed Memory]]
[[Category:F12_Virt_Features|KVM Huge Page Backed Memory]]

Latest revision as of 14:05, 19 January 2016

Old page
This page has been marked as "old", and likely contains content that is irrelevant or incorrect. If you can, please update this page. This page will be deleted if action is not taken.

Pagine di memoria di grandi dimensioni (4MB) per ospiti KVM

Sommario

Abilita gli ospiti KVM ad usare pagine di memoria di grandi dimensioni per ridurre il consumo di memoria e migliorare le prestazioni riducendo la pressione sulla cache da parte della CPU.

Progettista

Stato corrente

Rimane tuttavia un problema di SELinux nel kernel (en), che impedisce di applicare piena protezione di sVirt a memoria paginata di grandi dimensioni.

Descrizione dettagliata

Le CPU x86 solitamente accedono ad aree di memoria, cosiddetta paginata, di dimensione di 4KB, ma possono tranquillamente usare pagine anche più grandi (p.e. 4MB su x86_32, 2MB su x86_64 e x86_32 PAE).
Usando pagine di memoria di grandi dimensioni per un ospite KVM, occorrerà meno memoria per le tabelle delle pagine e si ridurranno le eccezioni di TLB (Translation Lookaside Buffer) invocate dal S.O., e tutto ciò comporterà un incremento nelle prestazioni del S.O. Tuttavia, ciò presenta comunque uno svantaggio - non si potrà più utilizzare il balloon driver o la tecnica dello swapping sulla memoria ospite.

Per usare pagine di memoria di grandi dimensioni con KVM, occorre effettuare i passi seguenti:

  1. Montare hugetlbfs su /dev/hugepages
    mount -t hugetlbfs /dev/hugepages
  2. Riservare memoria per le pagine
    sysctl vm.nr_hugepages=516
  3. Indicare il percorso di hugetlbfs a qemu-kvm
    qemu-kvm -mem-path /dev/hugepages

La caratteristica di questo progetto serve a incrementare la capacità di usare pagine di memoria di grandi dimensioni su ospiti gestiti da libvirt.

Vantaggi per Fedora

Assicurare una migliore prestazione agli ospiti KVM di Fedora.

Documentazione

Altre informazioni

Per:

  • Obiettivi
  • Test Plan
  • Esperienza Utente
  • Dipendenze
  • Progetto corrente
  • Note di rilascio
  • Commenti e Discussioni

consultare la pagina originale di questo documento.