

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Limitazione dell'utilizzo delle risorse di processo in AL2 023 utilizzando cgroups
<a name="resource-limiting-raw-cgroups"></a>

 Sebbene se ne consiglia l'uso[Controllo delle risorse con systemd](resource-limiting-systemd.md), questa sezione tratta l'utilizzo di base delle `libcgroup-tools` utilità di base per limitare l'utilizzo di CPU e memoria dei processi. Entrambi i metodi sono alternativi all'utilizzo dell'[`cpulimit`](epel.md#cpulimit)utilità, precedentemente disponibile in[EPEL](epel.md). 

 L'esempio seguente illustra l'esecuzione dello `stress-ng` stress test (dal `stress-ng` pacchetto) limitando al contempo l'utilizzo della CPU e della memoria utilizzando le utilità del `libcgroup-tools` pacchetto e i regolabili in esso contenuti. `sysfs` 

**Utilizzalo `libcgroup-tools` sulla riga di comando per limitare l'utilizzo delle risorse**

1.  Installare il pacchetto `libcgroup-tools`. 

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

1.  Crea un comando `cgroup` con `cpu` i controller `memory` e assegnagli un nome (`our-example-limits`). Utilizzando le `-t` opzioni `-a` and per consentire all'`ec2-user`utente di controllare i regolabili del `cgroup` 

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

    Ora c'è una `/sys/fs/cgroup/our-example-limits/` directory che contiene i file che possono essere usati per controllare ogni tunable. 
**Nota**  
 Amazon Linux 2 utilizza `cgroup-v1` piuttosto ciò `cgroup-v2` che viene utilizzato su AL2 023. Su AL2, i `sysfs` percorsi sono diversi e ci saranno `/sys/fs/cgroup/memory/our-example-limits` `/sys/fs/cgroup/cpu/our-example-limits` delle cartelle di proprietà `ec2-user` che contengono file che possono essere utilizzati per controllare i limiti di. `cgroup` 

1.  Limita l'utilizzo della memoria di tutti i processi `cgroup` a 100 milioni di byte. 

   ```
   [ec2-user ~]$ echo 100000000 > /sys/fs/cgroup/our-example-limits/memory.max
   ```
**Nota**  
 Amazon Linux 2 utilizza `cgroup-v1` invece di `cgroup-v2` quello utilizzato da Amazon Linux 2023. Ciò significa che alcuni regolabili sono diversi. Per limitare l'utilizzo della memoria AL2, viene invece utilizzato il seguente sintonizzabile.   

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

1.  Limita l'utilizzo della CPU di tutti i processi nel nostro paese `cgroup` al 10%. Il formato del `cpu.max` file è che `$MAX $PERIOD` limita il gruppo a consumare `$MAX` per tutti`$PERIOD`. 

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

    Amazon Linux 2 utilizza `cgroup-v1` invece di `cgroup-v2` quello utilizzato da Amazon Linux 2023. Ciò significa che alcuni regolabili sono diversi, incluso il modo di limitare l'utilizzo della CPU. 

1.  L'esempio seguente viene eseguito `stress-ng` (che può essere installato eseguendo`dnf install -y stress-ng`) in `our-example-limits` cgroup. Mentre il `stress-ng` comando è in esecuzione, è possibile osservare `top` che è limitato al 10% di CPU tempo. 

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

1. Pulisci rimuovendo il cgroup

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

 La [documentazione del kernel Linux `cgroup-v2`](https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html) contiene dettagli dettagliati sul loro funzionamento. La documentazione relativa alla [CPU](https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#cpu) e ai controller di [memoria](https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#memory) descrive in dettaglio come utilizzare ciascuna opzione ottimizzabile. 