LVE limitek kezelése parancssorból (lvectl, lveinfo, lveps)

A CloudLinux limiteket a legegyszerűbben a vezérlőpanel felületén kezelheti (cPanel szerveren a WHM-ben, a CloudLinux Manager oldalon). Szerveradminisztrátorként azonban sokszor gyorsabb a parancssor, például ha egy felhasználó limitjeit kell gyorsan módosítani, vagy ha meg kell keresni, ki terheli a szervert. Ehhez a cikkhez root jogosultság szükséges, ezért saját VPS-t vagy dedikált szervert üzemeltetőknek szól.

Az egyes limitek jelentéséről a CloudLinux erőforrás limitek cikkben olvashat.

Limitek lekérdezése

# A betöltött LVE-k és limitjeik (felhasználói azonosítóval)
lvectl list

# Ugyanez felhasználónévvel
lvectl list-user

# A betöltött LVE-k limitjei
lvectl limits

A limitek a /etc/container/ve.cfg fájlban tárolódnak. A fájlt ne szerkessze kézzel, használja az lvectl parancsot vagy a panel felületét.

Limitek beállítása

Egy felhasználó limitjeinek beállítása:

lvectl set-user felhasznalo --speed=200% --pmem=2048m --io=4096 --iops=1024 --nproc=150 --maxEntryProcs=40

A legfontosabb kapcsolók:

Kapcsoló Limit Példa
--speed CPU (100% = egy mag) --speed=150%
--pmem fizikai memória --pmem=1024m
--io lemezsebesség KB/s-ban --io=4096
--iops lemezműveletek másodpercenként --iops=1024
--nproc folyamatok száma --nproc=100
--maxEntryProcs egyidejű kapcsolatok (EP) --maxEntryProcs=20
--unlimited minden limit korlátlan  

A NPROC limit legyen nagyobb, mint az EP limit + 15, a PMEM pedig ne legyen kevesebb 512 MB-nál, különben a weboldalak hibásan működhetnek.

Az alapértelmezett limitek (amelyek minden olyan felhasználóra vonatkoznak, akinek nincs egyedi beállítása) módosítása:

lvectl set default --speed=100% --pmem=1024m

Egy felhasználó egyedi limitjeinek törlése, vagyis visszaállítás az alapértelmezett értékekre:

lvectl delete-user felhasznalo

A beállítások újbóli alkalmazása az összes LVE-re a konfigurációs fájl alapján:

lvectl apply all

Csomagszintű limitekhez a lvectl package-list és a lvectl package-set parancs használható. cPanel szerveren a csomagok limitjeit kényelmesebb a CloudLinux Managerben, a Packages fülön beállítani.

A terhelő felhasználók megkeresése

Az lveinfo az LVE-statisztikák (lve-stats) alapján mutatja, ki mennyit használt egy adott időszakban:

# Az elmúlt nap legtöbb CPU-t használó 10 felhasználója
lveinfo --period=1d --order-by=aCPU --limit=10

# Akik az elmúlt napban bármelyik limitet elérték
lveinfo --period=1d --by-fault=any

# Akiknek az átlagos CPU-használata az elmúlt 24 órában a limit 80%-a fölött volt
lveinfo --period=24h --by-usage=cpu --percentage=80

A --period értéke lehet például 5m, 4h, 2d, today vagy yesterday.

Valós idejű megfigyelés

# Futó LVE-k és erőforrás-használatuk, folyamatonként
lveps -p

# Folyamatosan frissülő nézet, a top parancshoz hasonlóan
lvetop

# Egy felhasználó aktuális LVE- és MySQL-használata JSON formátumban
cloudlinux-top --json -u felhasznalo

Az lveps -p megmutatja, mely folyamatok futnak egy felhasználó LVE-jében, így kiderül, melyik szkript vagy cron-feladat okozza a terhelést.

Az LVE kernel ellenőrzése

Ha a parancsok hibát adnak, ellenőrizze, hogy a szerver az LVE-t támogató kernellel fut-e, és be van-e töltve az LVE kernelmodul:

uname -r
lsmod | grep lve

A kernel nevében szerepelnie kell az lve szövegnek.