← До списку лабораторних по Linux
Повний опис / сценарій лабораторної:
Мета: навчитися запускати одноразові задачі у окремому cgroup з обмеженням cpu та памʼяті через systemd-run. Крок 1. Перевірити версію systemd. Команда: systemctl --version Пояснення: нові версії мають зручні параметри для керування ресурсами. Крок 2. Запустити просту команду через systemd-run. Команда: systemd-run --unit=lab64-test --scope sleep 60 Пояснення: процес sleep працює у окремому scope юніті. Крок 3. Переглянути статус юніта. Команда: systemctl status lab64-test.scope Пояснення: видно команду, стан та привʼязані ресурси. Крок 4. Запустити команду з обмеженням памʼяті. Команда: systemd-run --unit=lab64-mem --scope -p MemoryMax=200M stress --vm 1 --vm-bytes 300M --vm-keep Пояснення: використайте пакет stress або аналогічну утиліту для навантаження. Крок 5. Спостерігати як процес реагує на ліміт. Команади: systemctl status lab64-mem.scope; dmesg | tail Пояснення: ядро може вбити процес при перевищенні ліміту. Крок 6. Запустити команду з обмеженням cpu. Команда: systemd-run --unit=lab64-cpu --scope -p CPUQuota=20% stress --cpu 4 Пояснення: дивіться у top чи htop як процеси використовують cpu. Крок 7. Переглянути параметри cgroup для юніта. Команда: systemctl show lab64-cpu.scope | grep -i cpu Пояснення: тут видно застосовані ліміти. Крок 8. Зупинити тестові юніти. Команда: systemctl stop lab64-mem.scope lab64-cpu.scope 2>/dev/null || true Крок 9. Обговорити відмінність між transient юнітами і постійними service файлам. Пояснення: transient підходять для одноразових задач з обмеженнями. Крок 10. Міні звіт. Завдання: опишіть як ви використали б systemd-run для обмеження ресурсоємного backup скрипта.