Linux Distributions & Architectural Deep Dives
Linux Memory Subsystem Tuning
Memory behavior on a modern Linux host is governed by cgroups v2 limits, reclaim pressure, and the OOM killer's scoring. Defaults favor the whole machine, not a single microservice. Tuning means giving each workload a bounded budget, understanding how swap interacts with latency, and making out-of-memory events predictable instead of random.
Pagrindiniai punktai
- Set memory.max per service so one workload cannot starve its neighbors.
- Track memory.current and memory.pressure to see reclaim before it becomes an outage.
- Tune swappiness against workload behavior, since databases and caches respond differently.
- Reserve memory with memory.min for critical services that must survive pressure.
- Understand oom_score_adj and set it deliberately for essential and sacrificial processes.
- Enable per-cgroup swap accounting so limits reflect real usage.
- Watch page cache behavior, because container memory stats include cache and confuse dashboards.
- Load-test at the limit and confirm the failure mode is graceful, not a kernel panic or a hung node.
Dažniausiai užduodami klausimai
Does lower swappiness always improve performance?
No. It helps latency-sensitive services but can hurt workloads that benefit from reclaiming cold pages.
Why did the OOM killer kill the wrong process?
Its choice follows memory score and cgroup context, which often differs from what operators expect.
Should containers set memory limits?
Yes, or the scheduler and kernel have no basis for isolation or eviction decisions.
How do I detect memory pressure early?
Watch PSI metrics and reclaim counters, not just free memory.
Kaip Kinetikatech padeda su linux distributions & architectural deep dives
Jums nereikia tapti linux distributions & architectural deep dives ekspertu: Declarative rebuilds, rolling-release discipline, immutable images, and real-time kernels, the distribution choices that decide how a Linux fleet behaves under production load. Būtent tam ir skirta Serverių administravimas ir Linux serverių sauga: paleidimas, sutvirtinimas, stebėjimas ir budintis žmogus dieną ir naktį.