Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π·ΠΈΠ½ΡƒΠŸΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ
Найти Π² Π”Π·Π΅Π½Π΅
Π£Ρ€ΠΎΠΊΠΈ Linux

πŸ–₯️ ПониманиС ΠΈ использованиС cgroups β€” сСкрСт эффСктивной ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ рСсурсов

πŸ–₯️ ПониманиС ΠΈ использованиС cgroups β€” сСкрСт эффСктивной ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ рСсурсов Π“ΠΎΡ‚ΠΎΠ² Π»ΠΈ Ρ‚Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ рСсурсами Π½Π° систСмном ΡƒΡ€ΠΎΠ²Π½Π΅? Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сСрвСров. БСгодня расскаТу, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΈ просто Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ процСссов β€” cgroups! 🌟 ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ? - ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ CPU ΠΈ памяти для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ - Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ распрСдСлСниС рСсурсов ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ - Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ изоляции ΠΈ контроля Π·Π° систСмными процСссами Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ, достаточно ΡƒΠ·Π½Π°Ρ‚ΡŒ основныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ понятия: - Π‘ΠΎΠ·Π΄Π°ΠΉ Π½ΠΎΠ²ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ systemd ΠΈΠ»ΠΈ прямым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ cgroups - ΠΠ°Π·Π½Π°Ρ‡ΡŒ процСссы: echo <PID> > /sys/fs/cgroup/<имя>/cgroup.procs - ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠΉ Π»ΠΈΠΌΠΈΡ‚Ρ‹: cpu.max ΠΈΠ»ΠΈ memory.max НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ процСсса: mkdir /sys/fs/cgroup/memory/my_app echo 500M > /sys/fs/cgroup/memory/my_app/memory.max echo <PID> > /sys/fs/cgroup/memory/my_app/cgroup.procs Π­Ρ‚ΠΎ позволяСт быстро ΠΈ просто ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ рСсурсами Π±Π΅Π· слоТных скриптов ΠΈΠ»ΠΈ сторонни

πŸ–₯️ ПониманиС ΠΈ использованиС cgroups β€” сСкрСт эффСктивной ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ рСсурсов

Π“ΠΎΡ‚ΠΎΠ² Π»ΠΈ Ρ‚Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ рСсурсами Π½Π° систСмном ΡƒΡ€ΠΎΠ²Π½Π΅? Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сСрвСров. БСгодня расскаТу, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΈ просто Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ процСссов β€” cgroups!

🌟 ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ?

- ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ CPU ΠΈ памяти для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

- Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ распрСдСлСниС рСсурсов ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ

- Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ изоляции ΠΈ контроля Π·Π° систСмными процСссами

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ, достаточно ΡƒΠ·Π½Π°Ρ‚ΡŒ основныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ понятия:

- Π‘ΠΎΠ·Π΄Π°ΠΉ Π½ΠΎΠ²ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ systemd ΠΈΠ»ΠΈ прямым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ cgroups

- ΠΠ°Π·Π½Π°Ρ‡ΡŒ процСссы: echo <PID> > /sys/fs/cgroup/<имя>/cgroup.procs

- ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠΉ Π»ΠΈΠΌΠΈΡ‚Ρ‹: cpu.max ΠΈΠ»ΠΈ memory.max

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ процСсса:

mkdir /sys/fs/cgroup/memory/my_app

echo 500M > /sys/fs/cgroup/memory/my_app/memory.max

echo <PID> > /sys/fs/cgroup/memory/my_app/cgroup.procs

Π­Ρ‚ΠΎ позволяСт быстро ΠΈ просто ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ рСсурсами Π±Π΅Π· слоТных скриптов ΠΈΠ»ΠΈ сторонних инструмСнтов. ΠŸΡ€Π°Π²Π΄Π°, использованиС cgroups β€” это ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΌ: Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π½Π° ΠΏΠ΅Π΄Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· строя.

Π‘ΡƒΠ΄Π΅ΡˆΡŒ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ cgroups Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…?

ΠŸΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° ΠΏΠΎΡ‚ΠΎΠΌ?

Π‘Π»Π΅Π΄ΠΈ Π·Π° нашим Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»ΠΎΠΌ https://t.me/LinuxSkill β€” Ρ‚Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΈ Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΎΠ²!

πŸ“© Π—Π°Π²Ρ‚Ρ€Π°: Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Fail2Ban Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚! Π’ΠΊΠ»ΡŽΡ‡ΠΈ πŸ”” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ!