Lvectl - утиліта для керування LVE - Lightweight Virtual Environment - 2026
Published: 2026-08-06
lvectl - утиліта для керування LVE - Lightweight Virtual Environment - 2026
Вступ: що таке LVE
LVE (Lightweight Virtualized Environment) - ключова технологія операційної системи CloudLinux OS, призначена для ізоляції та обмеження ресурсів окремих користувачів (орендарів) на серверах спільного хостингу (shared hosting). На відміну від повноцінних контейнерів або віртуальних машин, LVE не створює окремого середовища для кожного користувача, а працює на рівні ядра ОС, обмежуючи в реальному часі споживання ресурсів процесами конкретного користувача.
Концепція проста: кожному користувачеві призначається унікальний ідентифікатор (UID), і всі процеси, запущені від імені цього користувача, автоматично потрапляють у його власне LVE. Якщо користувач вичерпає виділені ресурси - CPU, пам'ять, кількість процесів або швидкість дискового введення-виведення - він не «покладе» сусідів по серверу, а просто буде обмежений у швидкості роботи. Саме тому LVE називають «легкою віртуалізацією»: вона не потребує окремих ОС, не споживає зайвої пам'яті та не сповільнює роботу сервера.
На практиці LVE використовується насамперед хостинг-провайдерами для того, щоб:
- гарантувати кожному клієнту стабільну роботу незалежно від навантаження сусідів;
- запобігати ситуації, коли один «проблемний» сайт або скрипт забирає всі ресурси сервера;
- продавати тарифи з чіткими ресурсними лімітами (CPU, RAM, I/O);
- спрощувати підтримку: замість ручної «боротьби» з перевантаженнями адміністратор просто налаштовує ліміти.
Усі середовища LVE створюються на основі ідентифікаторів користувачів і керуються спеціальною консольною утилітою lvectl.
Що таке lvectl
lvectl - основна консольна утиліта CloudLinux для керування LVE. Вона входить до складу пакетів CloudLinux OS і дозволяє адміністратору:
- створювати та видаляти LVE;
- встановлювати та змінювати ліміти ресурсів (CPU, пам'ять, процеси, I/O);
- застосовувати налаштування на льоту, без перезавантаження сервера;
- працювати з пакетами (наборами лімітів) та реселерами;
- отримувати інформацію про поточний стан LVE та завантажені ліміти;
- автоматизувати налаштування через скрипти та JSON-вивід.
Офіційна документація CloudLinux зазначає, що для більшості панелей керування існує зручний плагін LVE Manager, який дозволяє керувати лімітами через графічний інтерфейс. Однак розуміння командного рядка та утиліти lvectl необхідне в таких випадках:
- панель не підтримується LVE Manager (наприклад, нестандартна панель або власна білінгова система);
- потрібне масове або скриптове налаштування лімітів (наприклад, під час міграції клієнтів);
- потрібно тонко налаштувати параметри, недоступні в графічному інтерфейсі;
- необхідно налагодити роботу LVE при виникненні проблем.
Утиліта працює лише на серверах із встановленою CloudLinux OS. На звичайних дистрибутивах (CentOS, Ubuntu тощо) lvectl недоступна, оскільки LVE реалізується спеціальним ядром CloudLinux.
Синтаксис
Загальний синтаксис утиліти виглядає так:
lvectl command [veid] [options]
Тут:
- command - команда, яку потрібно виконати (наприклад,
set,list,limits); - veid - ідентифікатор LVE (зазвичай UID користувача) або ім'я користувача для команд типу
set-user; - options - додаткові параметри команди (ліміти, прапорці виводу тощо).
Багато команд працюють і без зазначення veid - наприклад, lvectl list показує всі завантажені LVE.
Основні команди
Нижче наведено повну таблицю команд утиліти lvectl з коротким описом:
| Команда | Опис |
|---|---|
apply |
Застосувати налаштування LVE до вказаного контейнера |
apply all |
Застосувати налаштування до всіх LVE |
apply-many |
Застосувати ліміти LVE одразу до кількох користувачів (UID читаються з stdin) |
set |
Встановити параметри LVE або створити новий LVE |
set-user |
Встановити параметри LVE за ім'ям користувача або створити LVE для користувача |
set-reseller |
Створити контейнер LVP для реселера та перемістити туди LVE |
set-reseller-default |
Встановити ліміти за замовчуванням для користувачів усередині LVP |
sync-map |
Оновити карту реселерів і користувачів для коректної роботи лімітів |
list |
Показати завантажені LVE |
list-user |
Показати LVE з іменами користувачів замість ID |
limits |
Показати поточні ліміти LVE |
all-user-list |
Показати ліміти користувачів разом з інформацією про пакети |
delete |
Видалити LVE та повернути налаштування до значень за замовчуванням |
delete-user |
Видалити LVE користувача та повернути налаштування за замовчуванням |
destroy |
Знищити активний LVE без зміни конфігураційного файлу |
destroy all |
Знищити всі активні LVE |
package-set |
Налаштувати параметри LVE для пакета |
package-list |
Показати параметри LVE для пакетів |
package-delete |
Видалити налаштування LVE для пакета |
paneluserslimits |
Показати поточні ліміти користувачів панелі керування |
paneluserlimits |
Показати ліміти одного користувача панелі керування |
limit |
Обмежити PID усередині вказаного LVE |
release |
Звільнити PID з LVE |
set-binary |
Додати бінарний файл для запуску всередині LVE |
del-binary |
Видалити бінарний файл зі списку LVE |
list-binaries |
Показати список бінарних файлів LVE |
reload-binaries |
Перезавантажити список бінарних файлів |
help |
Показати довідку |
version |
Показати версію lvectl |
lve-version |
Показати версію LVE |
Розглянемо кожну групу команд детальніше.
Команди застосування налаштувань: apply, apply all, apply-many
Налаштування, внесені через lvectl set, не завжди застосовуються одразу до вже запущених процесів. Команда apply примусово застосовує збережені ліміти до конкретного LVE:
lvectl apply 504
Щоб застосувати налаштування до всіх завантажених LVE одразу, використовується:
lvectl apply all
Команда apply-many призначена для пакетного застосування лімітів: вона читає список UID зі стандартного введення (по одному в рядку) і застосовує до кожного налаштування LVE. Це особливо зручно в скриптах, де список користувачів формується динамічно - наприклад, через cut з /etc/passwd:
cut -d: -f3 /etc/passwd | lvectl apply-many
Команди встановлення: set і set-user
Команда set - центральна команда утиліти. Вона встановлює ліміти LVE за ідентифікатором користувача або створює новий LVE, якщо його ще не існує. Якщо LVE з указаним veid уже створений, його ліміти буде оновлено:
lvectl set 504 --speed=150%
Команда set-user робить те саме, але замість числового UID приймає ім'я користувача. Це зручніше та наочніше в повсякденній роботі:
lvectl set-user wiki --speed=600%
Важливо розуміти різницю: set працює з ідентифікаторами, а set-user - з іменами. Обидві команди автоматично зберігають зміни в конфігураційний файл /etc/container/ve.cfg.
Команди відображення: list, list-user, limits, all-user-list
Перегляд списку завантажених (активних) LVE:
lvectl list
Той самий список, але з іменами користувачів замість числових ідентифікаторів:
lvectl list-user
Перегляд поточних лімітів конкретного LVE за UID:
lvectl limits 504
За даними офіційної документації CloudLinux, у виводі команди limits відображаються такі колонки:
- обмеження швидкості CPU (CPU speed limit);
- ліміт фізичної пам'яті (physical memory limit);
- ліміт віртуальної пам'яті (virtual memory limit);
- максимальна кількість вхідних процесів (entry processes);
- максимальна кількість процесів (number of processes);
- обмеження дискового введення-виведення (I/O);
- обмеження операцій введення-виведення за секунду (I/O per second).
Команда all-user-list показує ліміти всіх користувачів разом з інформацією про призначені пакети - зручно для аудиту тарифів і перевірки відповідності налаштувань.
Команди видалення: delete, delete-user, destroy
Команда delete видаляє LVE та повертає налаштування до значень за замовчуванням:
lvectl delete 504
Команда delete-user робить те саме за ім'ям користувача:
lvectl delete-user wiki
Команда destroy знищує активний LVE без зміни конфігураційного файлу - тобто зміни діють до перезавантаження або повторного застосування налаштувань. Це корисно, коли потрібно «м'яко» перестворити середовище:
lvectl destroy 504
Повне скидання всіх активних LVE виконується командою:
lvectl destroy all
Команди панелі керування: paneluserslimits, paneluserlimits
Ці команди показують ліміти користувачів панелі керування. paneluserslimits виводить поточні ліміти всіх користувачів, а paneluserlimits - ліміти одного конкретного користувача. Вони корисні при інтеграції lvectl з білінговими системами та хостинг-панелями.
Параметри обмежень LVE
Основні параметри, за допомогою яких задаються ліміти ресурсів, наведено в таблиці:
| Параметр | Опис |
|---|---|
--speed=N% |
Обмеження CPU у відсотках. 100% = одне ядро CPU |
--speed=Nmhz |
Обмеження CPU у мегагерцах/гігагерцах (MHz/GHz) |
--io=N |
Обмеження швидкості дискового введення-виведення (КБ/с) |
--iops=N |
Обмеження кількості операцій введення-виведення за секунду |
--pmem=N |
Обмеження фізичної пам'яті (Physical Memory) |
--vmem=N |
Обмеження віртуальної пам'яті |
--mem=N |
Аліас для vmem (застарілий параметр) |
--nproc=N |
Максимальна кількість процесів користувача |
--maxEntryProcs=N |
Максимальна кількість вхідних процесів |
Розглянемо кожен параметр детальніше.
Обмеження CPU: --speed
Параметр --speed - найважливіший і найчастіше використовуваний. Він задає граничне споживання процесорного часу у відсотках, де 100% відповідає одному повному ядру CPU:
--speed=100%- одне ядро;--speed=200%- два ядра;--speed=600%- шість ядер;--speed=50%- половина ядра.
Приклад встановлення ліміту «півтора ядра» з офіційної документації CloudLinux:
lvectl set 504 --speed=150% lvectl limits 504
При встановленні значення менше 100% CPU ділиться між ядрами, тому навіть пів відсотка може бути розподілено по кількох ядрах. Також доступна форма завдання обмеження в мегагерцах:
lvectl set-user wiki --speed=2500mhz
Обмеження пам'яті: --pmem і --vmem
Фізична пам'ять (pmem) - це реальна оперативна пам'ять, яку можуть використовувати процеси користувача. Ліміт задається в мегабайтах або гігабайтах:
lvectl set-user wiki --pmem=4096M
Віртуальна пам'ять (vmem) - це адресний простір процесів, який, як правило, більший за фізичну пам'ять (пам'ять може бути відображена, але не задіяна). У більшості випадків достатньо налаштувати pmem, а vmem залишити «нескінченною» або зі значним запасом. Застарілий аліас --mem відповідає vmem і не рекомендується до використання.
Обмеження дискового введення-виведення: --io і --iops
Параметр --io обмежує середню швидкість читання/запису з диска в кілобайтах за секунду:
lvectl set 504 --io=2048
Параметр --iops обмежує кількість операцій введення-виведення за секунду (IOPS). Це важливо для захисту дискових масивів від «паразитного» навантаження - наприклад, коли скрипт користувача починає нескінченно читати з диска.
Обмеження процесів: --nproc і --maxEntryProcs
Параметр --nproc обмежує загальну кількість процесів, які може запустити користувач:
lvectl set-user wiki --nproc=100
Параметр --maxEntryProcs обмежує кількість «вхідних» процесів - тих, що запускаються від імені користувача в момент перевищення ліміту. Це захисний механізм: коли користувач досягає своєї межі процесів, нові спроби запуску потрапляють у «чергу очікування» та запускаються лише після звільнення ресурсів, замість того щоб впасти з помилкою.
Додаткові параметри
Окрім параметрів лімітів, у lvectl є допоміжні прапорці:
| Параметр | Опис |
|---|---|
--json |
Вивід результату у форматі JSON |
--bytes |
Показувати ліміти в байтах (працює лише разом із --json) |
--unlimited |
Зняти всі обмеження |
--reseller |
Вказати власника-реселера |
--save |
Зберегти налаштування (застарілий параметр) |
--save-all-parameters |
Зберегти всі параметри, включно зі значеннями за замовчуванням |
--skip-update-cfg |
Не оновлювати файл /etc/container/ve.cfg |
--save-username |
Зберегти ім'я користувача в конфігурації |
--default |
Скинути вибрані ліміти до значень за замовчуванням |
Повне скидання лімітів: --unlimited
Параметр --unlimited знімає всі обмеження з LVE, роблячи їх «безлімітними». В офіційній документації CloudLinux це показано на прикладі:
lvectl set 504 --unlimited lvectl limits 504
Після цієї команди всі ліміти (CPU, пам'ять, I/O, процеси) стануть нескінченними. Застосовувати її варто обережно - зняття обмежень з одного користувача може негативно позначитися на сусідах по серверу.
JSON-вивід: --json і --bytes
Параметр --json перемикає вивід утиліти у машинозчитуваний формат JSON. Це відкриває широкі можливості для автоматизації: можна писати скрипти на Python, PHP, Bash та інших мовах, які отримують ліміти та стан LVE у зручному вигляді:
lvectl limits 504 --json
Параметр --bytes використовується лише разом із --json і змушує виводити значення пам'яті в байтах замість «людиночитабельних» одиниць (КБ, МБ, ГБ). Це спрощує програмну обробку даних, позбавляючи необхідності розбирати суфікси одиниць вимірювання.
Практичні приклади
Розглянемо типовий сценарій роботи адміністратора хостингу - від первинного огляду до встановлення лімітів, дотримуючись офіційної документації CloudLinux.
Крок 1. Перегляд списку LVE
Перше, що робить адміністратор, - дивиться, які LVE завантажені на сервері:
lvectl list
Команда показує активні середовища, тобто користувачів, чиї процеси в цей момент виконуються на сервері.
Крок 2. Визначення UID користувача
Щоб працювати з конкретним користувачем, потрібно дізнатися його ідентифікатор. В офіційному прикладі це користувач cltest3:
id cltest3
Вивід покаже uid, gid та групи користувача. Саме uid використовується як veid у командах lvectl.
Крок 3. Перегляд поточних лімітів
Тепер можна подивитися ліміти користувача за його ідентифікатором:
lvectl limits 504
У виводі буде перелічено всі сім колонок: швидкість CPU, фізична пам'ять, віртуальна пам'ять, вхідні процеси, кількість процесів, I/O та IOPS.
Крок 4. Встановлення ліміту CPU
Змінимо ліміт CPU до півтора ядра:
lvectl set 504 --speed=150% lvectl limits 504
Другою командою перевіряємо, що зміни застосувалися.
Крок 5. Встановлення кількох лімітів однією командою
В одній команді можна комбінувати будь-яку кількість параметрів. Наприклад, встановимо один повний відсоток CPU (100%), фізичну пам'ять 1 ГБ та обмеження дискового введення-виведення 2048 КБ/с:
lvectl set 504 --speed=100% --pmem=1G --io=2048 lvectl limits 504
Цей підхід зручний тим, що ліміти застосовуються атомарно та одним записом у конфігураційний файл.
Крок 6. Зняття всіх обмежень
Повернемо користувачеві безлімітний режим:
lvectl set 504 --unlimited lvectl limits 504
Крок 7. Встановлення лімітів за ім'ям користувача
Для повсякденної роботи зручніше використовувати set-user - не потрібно пам'ятати числові ідентифікатори:
lvectl set-user wiki --speed=600% --pmem=4096M
Ця команда обмежує користувача wiki шістьма ядрами CPU (600%) і чотирма гігабайтами фізичної пам'яті.
Моніторинг: lvetop і lveps
Для контролю поточного використання ресурсів LVE в CloudLinux передбачено дві додаткові утиліти.
lvetop
Утиліта lvetop показує поточне споживання ресурсів усіма LVE в реальному часі - по суті, це аналог top, але в розрізі середовищ LVE. Вона показує, хто з користувачів скільки CPU, пам'яті та I/O споживає просто зараз:
lvetop
Згідно з офіційною документацією CloudLinux, саме lvetop рекомендується використовувати, щоб побачити поточне навантаження по LVE.
lveps
Утиліта lveps дає детальнішу інформацію про процеси всередині LVE. Запущена з ключем -p, вона перелічує всі процеси та потоки (threads), що належать середовищу:
lveps -p
Це незамінний інструмент під час діагностики: якщо сайт користувача гальмує, за допомогою lveps можна швидко визначити, який саме процес (або їх множина) вичерпує ресурси LVE.
Робота з пакетами
Пакети (packages) у CloudLinux - це іменовані набори лімітів, які можна призначати користувачам. Завдяки пакетам адміністратору не потрібно вводити десятки параметрів для кожного клієнта: достатньо один раз створити пакет, що відповідає тарифу, і призначити його.
Команди керування пакетами:
lvectl package-set- створити або змінити параметри LVE для пакета;lvectl package-list- показати параметри LVE всіх пакетів;lvectl package-delete- видалити налаштування LVE для пакета.
Приклад створення пакета start із лімітом CPU 100% і пам'яттю 1 ГБ:
lvectl package-set start --speed=100% --pmem=1G
Перегляд усіх пакетів:
lvectl package-list
Видалення пакета:
lvectl package-delete start
При призначенні пакета користувачеві через панель керування або безпосередньо в конфігураційному файлі LVE користувача автоматично успадковує ліміти пакета. Команда all-user-list показує ліміти користувачів разом із призначеними пакетами - зручно для звірки з тарифною сіткою.
Робота з реселерами (LVP)
CloudLinux підтримує концепцію LVP (Lightweight Virtualized Provider) - контейнерів реселерів, усередині яких групуються LVE користувачів даного реселера. Це дозволяє обмежувати сумарні ресурси всіх клієнтів одного реселера, а не лише окремих користувачів.
Команди керування реселерами:
lvectl set-reseller- створити контейнер LVP для реселера та перемістити туди LVE;lvectl set-reseller-default- встановити ліміти за замовчуванням для користувачів усередині LVP;lvectl sync-map- оновити карту відповідності реселерів і користувачів.
Приклад створення LVP для реселера reseller1:
lvectl set-reseller reseller1
Приклад встановлення лімітів за замовчуванням для користувачів усередині LVP:
lvectl set-reseller-default reseller1 --speed=100%
Після зміни складу клієнтів реселера (наприклад, при міграції користувача між реселерами) необхідно оновити карту відповідності:
lvectl sync-map
Параметр --reseller при встановленні лімітів дозволяє явно вказати власника-реселера:
lvectl set-user client1 --reseller=reseller1 --speed=100%
LVP дає провайдерам гнучку дворівневу модель: обмеження «зверху» (на всіх клієнтів реселера) і «знизу» (на кожного окремого користувача).
Керування бінарними файлами
Іноді необхідно, щоб певний бінарний файл (наприклад, компілятор або системний процес) завжди виконувався всередині LVE користувача незалежно від того, хто його запускає. Для цього слугують команди керування бінарними файлами:
lvectl set-binary- додати бінарний файл до списку запуску всередині LVE;lvectl del-binary- видалити бінарний файл зі списку;lvectl list-binaries- показати поточний список бінарних файлів;lvectl reload-binaries- перезавантажити список без перезапуску служб.
Приклад додавання бінарного файлу:
lvectl set-binary /usr/bin/php
Перегляд списку:
lvectl list-binaries
Видалення зі списку:
lvectl del-binary /usr/bin/php
Механізм бінарних файлів особливо важливий для коректної роботи PHP через FastCGI та інших сервісів, що запускаються супердемонами від імені інших користувачів, - він гарантує, що процеси будуть віднесені до правильного LVE та враховані в лімітах.
Робота з PID
Команди limit і release дозволяють вручну керувати належністю процесів до LVE:
lvectl limit PID- обмежити процес із вказаним PID усередині відповідного LVE;lvectl release PID- звільнити PID з LVE.
Зазвичай ці команди використовуються під час налагодження, коли процес «втратив» зв'язок зі своїм середовищем (наприклад, після міграції або ручного запуску від чужого користувача).
Автоматизація та робота зі скриптами
JSON-вивід утиліти відкриває широкі можливості для інтеграції із зовнішніми системами моніторингу та білінгу. Приклад отримання лімітів у JSON:
lvectl limits 504 --json --bytes
Такий вивід легко обробити, наприклад, у Python-скрипті: отримати ліміт пам'яті в байтах, порівняти з поточним споживанням з lvetop і сформувати алерт для адміністратора.
Масове застосування лімітів виконується через apply-many з передачею списку UID через stdin. Комбінуючи apply-many з вибіркою користувачів з /etc/passwd або бази даних панелі, можна за один прохід застосувати однакові ліміти до тисяч акаунтів:
lvectl apply-many < /tmp/users.txt
Конфігураційні файли
Основний файл конфігурації LVE - /etc/container/ve.cfg. Саме в ньому зберігаються встановлені ліміти та налаштування середовищ. При виконанні команд lvectl set і set-user зміни автоматично записуються в цей файл.
Ручне редагування ve.cfg можливе, але не рекомендується без глибокого розуміння формату: будь-яка синтаксична помилка може призвести до того, що ліміти не завантажаться. Після ручної зміни файлу необхідно застосувати налаштування:
lvectl apply all
Корисні параметри, що впливають на поведінку lvectl:
--skip-update-cfg- забороняє утиліті оновлюватиve.cfgпри виконанні команди (зміни будуть застосовані лише «на льоту» та зникнуть після перезавантаження);--save-all-parameters- зберігає всі параметри LVE, включно зі значеннями за замовчуванням (корисно для повної фіксації стану);--save-username- зберігає ім'я користувача в конфігурації разом із лімітами (спрощує аудит);--default- скидає вибрані ліміти до значень за замовчуванням.
Застарілий параметр --save більше не потрібен: сучасні версії lvectl зберігають налаштування автоматично. Так само застарів параметр --cpu - замість нього використовується --speed.
Інтеграція з панелями керування
Хоча стаття присвячена командному рядку, варто розуміти, як lvectl співвідноситься з панелями керування. Для cPanel, Plesk, DirectAdmin, ISPmanager та інших популярних панелей CloudLinux надає плагін LVE Manager, який візуалізує ліміти та поточне споживання. За лаштунками плагін виконує ті самі команди lvectl - тому знання утиліти допомагає навіть при роботі з плагіном:
- якщо в інтерфейсі панелі недоступний якийсь параметр, його можна доналаштувати вручну через lvectl;
- при підтримці клієнтів корисно вміти швидко перевірити ліміти через
lvectl limits; - команди
paneluserslimitsіpaneluserlimitsпоказують ліміти саме в термінах панелі керування та зручні для звірки.
Поради та найкращі практики
Ґрунтуючись на офіційній документації CloudLinux і практичному досвіді, можна сформулювати кілька рекомендацій:
- Починайте з малого. При налаштуванні нового сервера спочатку задайте консервативні ліміти та спостерігайте за реальним споживанням через lvetop, поступово коригуючи значення.
- Не знімайте ліміти без потреби. Параметр
--unlimitedзручний для налагодження, але на бойовому сервері безлімітний акаунт - джерело ризику для сусідів. - Використовуйте пакети замість ручного налаштування. Пакети роблять конфігурацію передбачуваною: зміна пакета автоматично змінює ліміти всіх його користувачів.
- Автоматизуйте масові операції. При міграції клієнтів використовуйте
apply-manyта JSON-вивід - це виключає людські помилки. - Перевіряйте зміни. Після кожної команди
setвиконуйтеlvectl limits, щоб переконатися, що ліміти застосувалися. - Моніторте заздалегідь. Регулярний перегляд lvetop дозволяє помітити «пожирачів» ресурсів до того, як вони вплинуть на інших клієнтів.
- Не забувайте про lveps. Якщо сайт гальмує, lveps -p покаже, які саме процеси створюють навантаження всередині LVE.
Усунення неполадок
LVE не створився
Якщо lvectl set не створює LVE, перевірте:
- чи встановлена CloudLinux OS і чи коректно працює ядро (команда
lvectl lve-version); - чи достатньо прав (команди потребують прав root);
- чи не конфліктує UID з уже існуючим середовищем (команда
lvectl list).
Ліміти не застосовуються
Якщо після lvectl set ліміти не набрали чинності, виконайте примусове застосування:
lvectl apply 504
За потреби - для всіх середовищ:
lvectl apply all
Неправильне введення при масовій операції
Команда apply-many мовчки пропускає некоректні рядки в stdin. Перевіряйте формування списку UID перед застосуванням, наприклад, виводом в окремий файл та його переглядом.
Проблеми з реселерами
Після зміни структури реселерів (переміщення користувачів) завжди виконуйте lvectl sync-map, інакше ліміти LVP можуть застосовуватися некоректно.
Висновок
Утиліта lvectl - фундаментальний інструмент адміністрування CloudLinux OS. Розуміння її команд і параметрів необхідне кожному адміністратору хостингу, що працює з CloudLinux: саме через lvectl створюються та налаштовуються LVE - легкі віртуалізовані середовища, що гарантують стабільність сервера при спільному хостингу.
Ключові можливості утиліти - встановлення лімітів CPU (--speed), фізичної (--pmem) та віртуальної (--vmem) пам'яті, дискового введення-виведення (--io, --iops), кількості процесів (--nproc, --maxEntryProcs), а також робота з пакетами, реселерами (LVP) та бінарними файлами. У поєднанні з утилітами моніторингу lvetop і lveps lvectl утворює повний контур керування ресурсами: налаштування, застосування, спостереження, діагностика.
Сучасні версії lvectl підтримують JSON-вивід, що дозволяє вбудовувати керування лімітами в системи моніторингу та білінгу, автоматизуючи рутину. Знання утиліти залишається затребуваним і в 2026 році: LVE залишається базовою технологією CloudLinux OS, а lvectl - її основним консольним інтерфейсом.
Резюме
- LVE (Lightweight Virtualized Environment) - технологія CloudLinux для ізоляції ресурсів користувачів на серверах спільного хостингу.
- lvectl - консольна утиліта керування LVE: створення, видалення, налаштування лімітів, робота з пакетами та реселерами.
- Основні ліміти: CPU (
--speed), фізична пам'ять (--pmem), віртуальна пам'ять (--vmem), дисковий I/O (--io,--iops), процеси (--nproc,--maxEntryProcs). - Ключові команди:
set,set-user,apply,apply-many,limits,list,delete,destroy,package-set,set-reseller. - Моніторинг: lvetop (поточне навантаження по LVE) і lveps -p (процеси всередині середовища).
- Конфігурація зберігається у файлі
/etc/container/ve.cfg; для автоматизації підтримується JSON-вивід. - Рекомендація: використовувати пакети лімітів, перевіряти зміни командою
limitsі застосовуватиapply allпісля ручних правок конфігурації.
