

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Membatasi penggunaan sumber daya proses di AL2 023 menggunakan cgroups
<a name="resource-limiting-raw-cgroups"></a>

 Meskipun disarankan untuk digunakan[Kontrol sumber daya dengan systemd](resource-limiting-systemd.md), bagian ini mencakup penggunaan dasar `libcgroup-tools` utilitas dasar untuk membatasi penggunaan CPU dan memori proses. Kedua metode tersebut merupakan alternatif untuk menggunakan [`cpulimit`](epel.md#cpulimit) utilitas, yang sebelumnya ditemukan di[EPEL](epel.md). 

 Contoh di bawah ini mencakup menjalankan `stress-ng` stress test (dari `stress-ng` paket) sambil membatasi penggunaan CPU dan memorinya menggunakan utilitas dari `libcgroup-tools` paket, dan tunable in`sysfs`. 

**Gunakan `libcgroup-tools` pada baris perintah untuk membatasi penggunaan sumber daya**

1.  Instal paket `libcgroup-tools`. 

   ```
   [ec2-user ~]$ sudo dnf install libcgroup-tools
   ```

1.  Buat `cgroup` dengan `memory` dan `cpu` pengontrol, dan beri nama (`our-example-limits`). Menggunakan `-t` opsi `-a` dan untuk memungkinkan `ec2-user` pengguna mengontrol tunable `cgroup` 

   ```
   [ec2-user ~]$ sudo cgcreate -a ec2-user -t ec2-user -g memory,cpu:our-example-limits
   ```

    Sekarang ada `/sys/fs/cgroup/our-example-limits/` direktori yang berisi file yang dapat digunakan untuk mengontrol setiap tunable. 
**catatan**  
 Amazon Linux 2 menggunakan `cgroup-v1` lebih tepatnya `cgroup-v2` yang digunakan pada AL2 023. Pada AL2, `sysfs` jalurnya berbeda, dan akan ada `/sys/fs/cgroup/memory/our-example-limits` dan `/sys/fs/cgroup/cpu/our-example-limits` direktori `ec2-user` yang dimiliki yang berisi file yang dapat digunakan untuk mengontrol batas. `cgroup` 

1.  Batasi penggunaan memori dari semua proses dalam 100 juta byte kami`cgroup`. 

   ```
   [ec2-user ~]$ echo 100000000 > /sys/fs/cgroup/our-example-limits/memory.max
   ```
**catatan**  
 Amazon Linux 2 menggunakan `cgroup-v1` bukan `cgroup-v2` yang digunakan Amazon Linux 2023. Ini berarti bahwa beberapa tunable berbeda. Untuk membatasi penggunaan memori AL2, tunable di bawah ini digunakan sebagai gantinya.   

   ```
   [ec2-user ~]$ echo 10000000 > /sys/fs/cgroup/memory/our-example-limits/memory.limit_in_bytes
   ```

1.  Batasi penggunaan CPU dari semua proses di kami `cgroup` hingga 10%. Format `cpu.max` file adalah`$MAX $PERIOD`, membatasi kelompok untuk mengkonsumsi `$MAX` untuk setiap`$PERIOD`. 

   ```
   [ec2-user ~]$ echo 10000 100000 > /sys/fs/cgroup/our-example-limits/cpu.max
   ```

    Amazon Linux 2 menggunakan `cgroup-v1` bukan `cgroup-v2` yang digunakan Amazon Linux 2023. Ini berarti bahwa beberapa tunable berbeda, termasuk cara membatasi penggunaan CPU. 

1.  Contoh di bawah ini berjalan `stress-ng` (yang dapat diinstal dengan menjalankan`dnf install -y stress-ng`) di `our-example-limits` cgroup. Saat `stress-ng` perintah sedang berjalan, Anda dapat mengamati menggunakan `top` bahwa itu dibatasi hingga 10% dari CPU waktu. 

   ```
   [ec2-user ~]$ sudo cgexec -g memory,cpu:our-example-limits stress-ng --cpu 1
   ```

1. Bersihkan dengan menghapus cgroup

   ```
   [ec2-user ~]$ sudo cgdelete -g memory,cpu:our-example-limits
   ```

 [Dokumentasi Kernel Linux untuk `cgroup-v2`](https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html) berisi rincian luas tentang cara kerjanya. Dokumentasi pengontrol [cpu](https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#cpu) dan [memori](https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#memory) mencakup detail tentang cara menggunakan setiap opsi yang dapat disetel. 