[vpsFree.cz: community-list] Vypadky Node5
Jirka Bourek
trekker.dk at abclinuxu.cz
Tue Feb 10 14:35:40 CET 2015
Pavel Snajdr wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Ono to docela zalezi. Jsou kontejnery, co nevyuzijou ani 100 MB RAM a
> byt to plna virtualizace, urcite ten kontejner 3.9 GB nevrati,
> obzvlast, kdyz je tam linux - staci zaplnit diskovou cache i totalne
> nepouzivanymi daty. Nebo se to uz da nejak nastavit, aby kdyztak pri
> pozadavku na pamet host pustil memory reclaim?
>
Dělá se to z userspace - "něco" musí hypervizoru říct, aby balloon
ovladač odebral hostovi třeba 3.8GB RAM (aby mu nějaká cache zůstala).
Jádro hosta pak vrátí diskové cache, protože bez těch se obejde - jo,
když se to přežene, nastoupí oom killer.
Red Hat na to asi nějakého démona mít bude, to už nevím.
Samozřejmě by to šlo dělat ještě lépe - jádro hosta může vědět, že běží
pod hypervizorem, a říkat mu, které konkrétní kusy paměti používá jako
diskové cache. Hypervizor tuhle informaci předá jádru hostitele a to ji
v případě potřeby může hostovi odebrat.
Hostovi se samozřejmě při pokusu tu paměť číst vrátí nějaká chyba, ale
protože to byla cache, tak se s tím snadno vyrovná tím, že příslušná
data znovu načte.
Vím, že na tomhle se pracovalo a AFAIK se to dostalo i do mainline.
Akorát to vyvíjel někdo z Oracle a udělal to jenom pro Xen (protože KVM
je konkurence), takže mám ten pocit, že KVM tohle nepoužívá.
Suma sumárum jde udělat to samé co v kontejneru, akorát je to o něco
složitější - na rozdíl od kontejneru, do kterého je dobře vidět, jsou u
plné virtualizace k dispozici jenom nějaké základní informace (u KVM 2.1
je to paměť celkem, volno, počítadlo minor a major fault a počítadlo
swap-in a swap-out.) Na ostatní už je potřeba nějaký démon běžící v tom
hostovi - u KVM qemu-guest-agent
More information about the Community-list
mailing list