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.
Puncte-cheie
- 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.
Întrebări frecvente
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.
Cum ajută Kinetikatech la linux distributions & architectural deep dives
Am tratat asta de sute de ori: Declarative rebuilds, rolling-release discipline, immutable images, and real-time kernels, the distribution choices that decide how a Linux fleet behaves under production load. Cu Administrare servere and Securitate servere Linux primești bucla completă: evaluăm, implementăm, urmărim nonstop și intervenim în 30 de minute când e nevoie.