A szabad társadalom technológiája ksm (kernel samepage egyesülés)

KSM technológia (Kernel SamePage egyesítése)

A szabad társadalom technológiája ksm (kernel samepage egyesülés)
1. ábra: KSM szolgáltatás

Ez a szolgáltatás hasznos a virtualizációhoz a KVM használatával. A virtuális virtuális gép csak a memóriából örökölte a qemu-kvm szülőprocesszust indításkor. Miután elindította a vendég virtuális gépet, az operációs rendszer képének tartalmát meg lehet osztani más vendéggépekkel, amelyek ugyanazt az operációs rendszert vagy ugyanazokat az alkalmazásokat használják. A KSM meghatározza és egyesíti azokat a memória oldalakat, amelyek nem befolyásolják a vendég virtuális gépét, és nem veszélyeztetik a fizikai hypervisor gép és más vendéggépek biztonságát. A KSM lehetővé teszi a KVM számára, hogy a vendég virtuális gépek azonos memóriaterületeit megosszák. A KSM kísérleti megvalósítása a Red Hat-tól azt mutatta, hogy a Windows XP 1 virtuális memóriával rendelkező virtuális példánya 16 GB RAM-mal futhat számítógépen.

A KSM jobb memóriafelhasználást biztosít, és felgyorsítja működését. A KSM használata során az általános adatok kevésbé valószínű, hogy lemossák a processzor gyorsítótárából és a fő memóriából. Ez csökkenti a "misses" számát a gyorsítótárban a vendéggépek működése során, ami növeli az alkalmazások és az operációs rendszerek teljesítményét. Emellett a memória megosztása csökkenti a vendéggépek által igényelt memória összmennyiségét, amely lehetővé teszi a meglévő erőforrások "sűrűbbé tételét".

KSM és NUMA

A Red Hat Enterprise Linux 6.5-től kezdődően a KSM NUMA (nem egységes memória hozzáférés) technológiával működik. Ez a funkció lehetővé teszi, hogy a KSM, amikor összeolvassa az oldalakat, figyelembe veszi a NUMA topológiáját. Ez megakadályozza azokat az eseteket, amikor az oldalak távoli helyeken vannak elhelyezve és a távoli telepítéssel kapcsolatos teljesítményproblémák.

A Red Hat azt ajánlja, hogy ne egyesítse ugyanazokat az oldalakat, ha ezek az oldalak különböző NUMA csomópontokon találhatók. Ehhez be kell állítani a konfigurálható paramétert / sys / kernel / mm / ksm / merge_nodes értéket 0. Miért? A belső kernelszámlálók nagyszámú csomópont-összevonást követően ütköznek egymással. Ennek eredményeként a numad démon zavaros lehet. Ha a rendszer nagy mennyiségű szabad memóriával rendelkezik, nagyobb teljesítményt érhet el a KSM démon letiltásával és kikapcsolásával. További információt a NUMA-ról a Red Hat Enterprise Linux teljesítmény-beállítási útmutatójában talál.

KSM szolgáltatások

A KSM Red Hat Enterprise Linux rendszerben történő kezeléséhez két szolgáltatás létezik:

  • Az ksm szolgáltatás elindítja és leállítja a KSM rendszermag menetét.
  • Az ksmtuned szolgáltatás figyeli az ksm szolgáltatást. dinamikusan kezeli az oldal egyesítését. Az ksmtuned szolgáltatás elindítja az ksm szolgáltatást, és abbahagyja, ha elég memória van. A KSM konfigurálásához, például, amikor egy vendéggépet hoz létre vagy megsemmisít, hívja a ksmtuned retune szolgáltatást.

Mindkét szolgáltatás felügyeletét szabványos szolgáltatáskezelési eszközök segítségével végzik.

KSM szolgáltatás

Az ksm szolgáltatás része a qemu-kvm csomagnak. A KSM alapértelmezés szerint le van tiltva a Red Hat Enterprise Linux 6 rendszerben. A Red Hat Enterprise Linux 6 KVM gazdagépként való használatakor azonban általában az ksm és a ksmtuned szolgáltatás engedélyezi.

Amikor az ksm szolgáltatás elindul, a KSM a fizikai gép fő memóriájának felét felosztja, amelyen a ház üzemeltetője van. Indítsa el az ksm szolgáltatást. A KSM több megosztott memóriaoldalat használ.

Az ksm szolgáltatás hozzáadható az alapértelmezett üzembe helyezéshez. Állítsa az ksm szolgáltatást állandóan a chkconfig paranccsal.

KSM konfigurációs szolgáltatás

Az ksmtuned szolgáltatásnak nincs lehetősége. A ksmtuned szolgáltatás a looping és a ksm szabályozása. Az ksmtuned szolgáltatást a libvirt folyamat értesíti. amikor egy vendég virtuális gépet hoznak létre vagy megsemmisítenek.

Ha hívja a szolgáltatást ksmtuned retune. Az ksmtuned szolgáltatás újra feltérképezi a konfigurációs fájlt, és újraindítja a konfigurációt. Mielőtt elkezdené leírni a paramétereket a fájlban, tisztázza a következő feltételeket:

  • npages - hány ksm oldal kerül szkennelésre, mielőtt az ksmd alvó üzemmódba lép, beállítva a / sys / kernel / mm / ksm / pages_to_scan;
  • rsz az összes qemu-kvm folyamat memóriájának összege. Kbytes;
  • thres - aktivációs küszöb, Kbytes; a KSM ciklus akkor lép működésbe, amikor a thres + rsz összege meghaladja a rendszermemória teljes mennyiségét.

KSM változók és monitoring

A KSM felügyeleti adatokat ment a könyvtárban: / sys / kernel / mm / ksm /. A könyvtárban lévő fájlokat a rendszermag frissíti, és pontos képet nyújt a KSM használatáról. Az alábbi fájlok mindegyike tartalmaz egy számértéket, amely lehetővé teszi a szolgáltatás aktuális állapotának meghatározását:

  • full_scans - a teljes vizsgálat kezdete;
  • oldalak megosztva - az összesített oldalak száma;
  • page_sharing - az egyesített oldalak száma az aktuális pillanatig.
  • pages_to_scan - a még nem beolvasott oldalak száma;
  • pages_unshared - az egyesített oldalak összesített száma, amelyeket új adatok rögzítése miatt osztottak fel;
  • pages_volatile - az egyesített oldalak száma, amelyek az aktuális pillanatra vannak osztva;
  • futni - a KSM szolgáltatás fut-e;
  • sleep_millisecs - hány milliszekundum A KSM elvárja a következő futást.

A KSM konfigurációs tevékenység eredményei a log / var / log / ksmtuned fájlba kerülnek. ha a DEBUG = 1 string hozzáadódik a /etc/ksmtuned.conf fájlhoz. A naplófájl helye a LOGFILE paraméterrel módosítható. A naplófájl helyének módosítása nem ajánlott, és speciális SELinux konfigurációra van szüksége.

A KSM megáll

A KSM csökkenti a teljesítményt, ami fontos lehet, például nem elegendő a processzor teljesítményével. Ez a szolgáltatás kikapcsolható a ksmtuned és az ksm szolgáltatás leállításával. A szolgáltatás leállítása kikapcsolja a KSM-et az újraindításig.

A KSM kikapcsolásához, mialatt az újraindítás után ezt az állapotot megőrzi, használja a chkconfig parancsot:

Ne habozzon a swap fájlra

Győződjön meg róla, hogy a teljes memóriamennyiség, beleértve a lapozófájlt, elegendő minden futó folyamathoz, függetlenül attól, hogy a KSM fut-e. Ezzel elkerülhető a rendellenes helyzetek azokban az esetekben, amikor az oldalakat tömegesen nem osztják meg.