Teraz vám prinášame trošku technicky náročnejší článok o problematike s ktorou sa museli naši admini vysporiadať.
Veľmi zjednodušene môžeme rozdeliť pamäť v Linuxe na 2 typy:
- mapped – aplikácie – stack, data, loadnuté knižnice, alokovaná pamäť za behu app, …
- unmapped – page cache (disková cache) – cacheujú sa tam súbory pri čítaní/zápise na disky, rieši to kernel nezávisle od aplikácií
- (a ešte máme nejaké ďalšie ako slab, kde sú TCP/IP stack buffre, directory entries, atď.)
Page cache je v Linuxe nie najlepšie implementovaná.
Jeden z problémov, ktoré ma trápia, je napríklad to, že jeden task pri zápise alebo načítaní veľkého množstva dát odstráni z page cache všetko ostatné a nahradí to tým, čo číta/zapisuje.