Omejitve CloudLinux najlaže upravljaš v vmesniku nadzorne plošče (na strežniku s cPanelom v WHM, na strani CloudLinux Manager). Kot skrbnik strežnika pa si z ukazno vrstico pogosto hitrejši, na primer ko moraš hitro spremeniti omejitve uporabnika ali poiskati, kdo obremenjuje strežnik. Za ta članek potrebuješ pravice root, zato je namenjen tistim, ki upravljajo lasten VPS ali namenski strežnik.
O pomenu posameznih omejitev preberi v članku Omejitve virov CloudLinux.
Poizvedovanje omejitev
# Naloženi LVE-ji in njihove omejitve (z identifikatorjem uporabnika)
lvectl list
# Enako z uporabniškim imenom
lvectl list-user
# Omejitve naloženih LVE-jev
lvectl limits
Omejitve so shranjene v datoteki /etc/container/ve.cfg. Datoteke ne urejaj ročno, uporabi ukaz lvectl ali vmesnik plošče.
Nastavitev omejitev
Nastavitev omejitev uporabnika:
lvectl set-user felhasznalo --speed=200% --pmem=2048m --io=4096 --iops=1024 --nproc=150 --maxEntryProcs=40
Najpomembnejša stikala:
| Stikalo | Omejitev | Primer |
|---|---|---|
--speed |
CPU (100 % = eno jedro) | --speed=150% |
--pmem |
fizični pomnilnik | --pmem=1024m |
--io |
hitrost diska v KB/s | --io=4096 |
--iops |
diskovne operacije na sekundo | --iops=1024 |
--nproc |
število procesov | --nproc=100 |
--maxEntryProcs |
hkratne povezave (EP) | --maxEntryProcs=20 |
--unlimited |
vse omejitve neomejene |
Omejitev NPROC naj bo večja od omejitve EP + 15, PMEM pa naj ne bo manj kot 512 MB, sicer lahko spletne strani delujejo napačno.
Sprememba privzetih omejitev (ki veljajo za vse uporabnike brez lastne nastavitve):
lvectl set default --speed=100% --pmem=1024m
Brisanje lastnih omejitev uporabnika, torej vrnitev na privzete vrednosti:
lvectl delete-user felhasznalo
Ponovna uporaba nastavitev za vse LVE na podlagi konfiguracijske datoteke:
lvectl apply all
Za omejitve na ravni paketov lahko uporabiš ukaza lvectl package-list in lvectl package-set. Na strežniku s cPanelom je omejitve paketov udobneje nastaviti v CloudLinux Managerju, na zavihku Packages.
Iskanje obremenjujočih uporabnikov
lveinfo na podlagi statistike LVE (lve-stats) pokaže, kdo je koliko porabil v določenem obdobju:
# 10 uporabnikov z največjo porabo CPU v zadnjem dnevu
lveinfo --period=1d --order-by=aCPU --limit=10
# Kdor je v zadnjem dnevu dosegel katero koli omejitev
lveinfo --period=1d --by-fault=any
# Tisti, katerih povprečna poraba CPU je bila v zadnjih 24 urah nad 80 % omejitve
lveinfo --period=24h --by-usage=cpu --percentage=80
Vrednost --period je lahko na primer 5m, 4h, 2d, today ali yesterday.
Spremljanje v realnem času
# Tekoči LVE-ji in njihova poraba virov, po procesih
lveps -p
# Pogled, ki se sproti osvežuje, podobno kot ukaz top
lvetop
# Trenutna poraba LVE in MySQL uporabnika v obliki JSON
cloudlinux-top --json -u felhasznalo
lveps -p pokaže, kateri procesi tečejo v LVE uporabnika, tako da ugotoviš, katera skripta ali opravilo cron povzroča obremenitev.
Preverjanje jedra LVE
Če ukazi vrnejo napako, preveri, ali strežnik teče z jedrom, ki podpira LVE, in ali je naložen modul jedra LVE:
uname -r
lsmod | grep lve
V imenu jedra mora biti besedilo lve.