Kontener nie dźwiga drugiego jądra
Maszyna wirtualna to pełny gość: własne jądro Linux, własny proces init/systemd, własne sterowniki urządzeń wirtualnych, własne bufory i page cache. To wszystko zajmuje pamięć, zanim uruchomisz cokolwiek użytecznego.
Kontener systemowy LXC działa inaczej — jego procesy wykonują się bezpośrednio na jądrze hosta. Nie ma drugiego kernela, nie ma osobnych sterowników, a page cache jest współdzielony z hostem. Zostaje praktycznie tylko to, co naprawdę uruchomiłeś (systemd gościa + usługi). Stąd narzut „pustego” systemu spada z dziesiątek megabajtów do kilkunastu.
Czysty Debian 13 — ile pobiera
| Konfiguracja | Zużycie RAM (świeży start, idle) |
|---|---|
| Debian 13 — kontener LXC (bez GUI) | ~16 MB |
| Debian 13 — VM serwer (bez GUI) | ~85 MB |
| Debian 13 — VM z pulpitem XFCE | ~450 MB |
| Debian 13 — VM z pulpitem GNOME | ~1 GB |
To samo jądro, ta sama dystrybucja — a różnica między kontenerem (~16 MB) a serwerową VM (~85 MB) to ponad 5×. Dodanie graficznego pulpitu zmienia skalę zupełnie: lekki XFCE to ~450 MB, a pełne GNOME w spoczynku potrafi sięgnąć ~1 GB — czyli ~60× więcej niż kontener serwerowy.
Wartości dotyczą świeżo uruchomionego systemu w spoczynku (mierzone m.in. przez free -m). Realne zużycie rośnie wraz z usługami — ale punkt startowy narzutu jest dokładnie tym, co decyduje o gęstości.
Więcej usług na tym samym hoście
Narzut „na puste” mnoży się przez liczbę instancji. Na hoście z 256 GB RAM sam koszt uruchomienia setek lekkich usług jest nieporównywalny: kontenery zostawiają niemal całą pamięć dla aplikacji, podczas gdy farma małych VM oddaje znaczną jej część na powielony narzut systemowy.
- Mikrousługi, strony WWW, API, reverse-proxy, cache — idealne dla kontenerów: dziesiątki/setki instancji przy minimalnym narzucie.
- Środowiska dev/test — szybki start, znikomy koszt pamięci, łatwe klonowanie.
- VM + KSM — jeśli musisz użyć VM, włącz KSM, by odzyskać część powielonego narzutu między identycznymi maszynami.
Gęstość to nie wszystko — kiedy wybrać VM
Kontener współdzieli jądro hosta, więc nie nadaje się wszędzie. Wybierz pełną maszynę wirtualną, gdy:
- Inne jądro niż host — Windows, BSD, własny/niestandardowy kernel lub moduły jądra.
- Twarda izolacja — niezaufani najemcy, wymogi compliance, separacja na poziomie hypervisora.
- Operacje kernel-level — własne sysctl wymagające izolacji, sterowniki, zagnieżdżona wirtualizacja.
W skrócie: jeśli wystarcza Linux na jądrze hosta — kontener daje maksymalną gęstość. Jeśli potrzebujesz innego jądra lub twardej separacji — wybierz VM (i rozważ KSM). Najlepsze klastry Proxmox świadomie mieszają jedno i drugie.
Proxmox VE zarządza VM (KVM) i kontenerami (LXC) z jednego panelu — nie musisz wybierać platformy, dobierasz właściwe narzędzie per-obciążenie.
Dobierzemy VM i kontenery pod Twoje obciążenia
Zaplanujemy podział na VM i LXC tak, by zmaksymalizować gęstość i obniżyć koszt RAM — bez kompromisów tam, gdzie potrzebujesz izolacji.
⚡ Bezpłatna konsultacja → Kontenery LXC w Proxmox