Pravda, KSM jsem nepočítal. Na serverech máme jedno jádro vyhrazené pro systém a VS k němu nesmí, aby nehrozilo, že se tam kvůli nějakému bordelu nepůjde ani přihlásit (tak jsem se k tomu dostal a tak jsem to nechal.) ksmd tudíž běží tam, bere si asi 30% výkonu toho jádra a šetří ~55GB. Takže v součtu na Ryzenu je cenou 1% z celkového procesorového výkonu, to jde :-) (U starých strojů s méně jádry jsou to nějaká 3%)
No ona ta agregace u multi-tenant OS-level prostredi je hlavne o ty RAMce, zejo... kdyz usetris 55GB... to je z kolika?
Kdyz sectes maximalni dovolenou RAM vsem virtualum na tom serveru, na kolik se dostanes?
My jsme _uplne_bezne_ _minimalne_ na dvojnasobku vuci fyzicke RAM stroje, na nekterych masinach jeste o neco vic...
A kdyz node dame tolik RAM, kolik je to sectene maximum, tak je proste vyuzite pod polovinu (pokud to nenechame sezrat ARC, coz vetsinou nema smysl...).
To mame nejakych 500 GB pridelene RAM, kdyz stroj ma 256 GB, a jeste mame podminku, ze na stroji musi viset aspon 40 GB dat v ZFS ARC cache (abychom mohli jit spis na kapacitu a pouzivat rotacni disky). To se preklada ve vic jak 99.9% hitrate z cache, misto cteni z disku.
Takze 540 GB pridelene RAM.
Stroj ma 256 GB, takze "usetrenych" 284 GB.
A to je pri strojich s 256G RAM a adekvatnimi CPU jadry k tomu...
Chteli bychom mirit spis na poradnejsi many-core systemy, abychom mohli agregovat jeste lip - ckeam, ze pri 1 TB RAM a aspon 96 jadrech budem nekde u "usetrenych 2 TB" pri podobne kalkulaci. Zhruba... "porizovacka" takove masiny je zhruba na 4nasobku jednoho stroje, co jsme kupovali do ted, myslim ze by se na to v pohode melo vejit neco okolo obsahu 5-6 tech puvodnich masin.
Ve srovnani se standardnim Linuxovym resenim bychom proste museli tem virtualum ty 4 GB pridelit a doufat, ze si zvladnou vsechno odcachovat samy, protoze RAM na cache uz by fakt nezbyla... a bez ZFS je to stejne skoro-zbytecne nechavat hostu nejak vic RAMky na cachovani dat z disku.
Jo a dalsi drobnost - do tech 4 GB nepocitame na vpsAdminOS "kmem", tj. hlavne TCP buffery, dentries a podobne veci - to se na aktivnim systemu s 4G realne pameti umi taky naskladat klidne na gigabajt i vic, kdyz ta masina obsluhuje hodne vzdalenych spojeni, nebo pracuje s adresari s hodne soubory, atd.
Uctujeme jen mmaped pamet, protoze je v tuhle chvili uz slozitejsi to uctovani do memcg z jadra vykuchat, nez radsi poresit ten ksoftlimd...
/snajpa