[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