Linux Containers (LXC) is een besturingssysteem-niveau virtualisatietechnologie die draait op de Linux-kernel. Het is vergelijkbaar met andere virtualisatieoplossingen zoals Docker en KVM, maar het heeft enkele unieke kenmerken en voordelen.
Maar, zoals elke technologie, heeft het zijn eigen reeks prestatieoverheads die ermee gepaard gaan. Hier zijn enkele van de belangrijkste:
1. Beperkte isolatie: In tegenstelling tot bijvoorbeeld VMware Workstation of VirtualBox die hardware-niveau virtualisatie gebruiken, biedt LXC proces-niveau isolatie. Dit betekent dat alle containers dezelfde kernel delen. Dat kan leiden tot beveiligingsproblemen en mogelijke prestatievermindering bij intensief gebruik van de kernel.
1. Deling van bronnen: Naast de kernel delen LXC-containers ook andere systeembronnen, zoals netwerkinterfaces, I/O-apparaten, etc. Dit kan opnieuw leiden tot prestatievermindering bij hoog gebruik.
1. Beheer van instanties: Het beheren en schalen van LXC-containers kan complexer zijn dan bij andere oplossingen, en dit kan leiden tot overhead, vooral bij grote installaties.
1. Ontbreken van live migratie: In tegenstelling tot sommige andere technologieën, is het niet zo eenvoudig om running containers te verplaatsen tussen hosts, wat een beperking kan zijn in sommige omgevingen.
1. Software compatibiliteit: Aangezien LXC de kernel deelt tussen containers, kan het zijn dat sommige applicaties die specifieke kernelversies of -instellingen vereisen, niet correct werken in een LXC-container.
1. Toegewijde resources: Hoewel LXC het mogelijk maakt om systeembronnen te delen, kan dit leiden tot resource conflicten. Bijvoorbeeld, als een container is geconfigureerd om een bepaald percentage CPU-tijd te gebruiken, en een andere container probeert meer te gebruiken, kan dit tot prestatieproblemen leiden.