

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à.

# Gestione dello spazio di memoria di swap dei container su Amazon ECS
<a name="container-swap"></a>

Amazon ECS ti permette di controllare l'utilizzo dello spazio di memoria swap sulle istanze Amazon EC2 basate su Linux a livello di container. Utilizzando una configurazione swap per container, ogni container all'interno di una definizione di attività può avere lo swap abilitato o disabilitato. Per chi lo ha abilitato, la quantità massima di spazio di swap utilizzato può essere limitata. Ad esempio, i container critici per la latenza possono avere lo swap disabilitato. Al contrario, i contenitori con elevate richieste di memoria transitoria possono avere lo swap attivato per ridurre le possibilità di errori quando il contenitore è sotto carico. out-of-memory

La configurazione di swap per un container viene gestita dai seguenti parametri di definizione del container.

`maxSwap`  
La quantità totale di memoria di swap (in MiB) che un container può utilizzare. Questo parametro viene convertito nell'opzione `--memory-swap` in docker run dove il valore sarebbe la somma della memoria del container più il valore `maxSwap`.  
Se viene specificato il valore `maxSwap` di `0`, il container non utilizzerà lo swap. I valori accettati sono `0` o qualsiasi numero intero positivo. Se il parametro `maxSwap` viene omesso, il container utilizza la configurazione di swap per l'istanza di container su cui è in esecuzione. È necessario impostare un valore `maxSwap` per il parametro `swappiness` da utilizzare.

`swappiness`  
In questo modo è possibile ottimizzare il comportamento swappiness di memoria di un container. Un valore `swappiness` di `0` fa sì che swap non si verifichi se non richiesto. Un valore `swappiness` di `100` produrrà lo swap delle pagine in modo aggressivo. I valori accettati sono numeri interi compresi tra `0` e `100`. Se il parametro `swappiness` non è specificato, viene utilizzato un valore predefinito `60`. Se non viene specificato un valore per `maxSwap`, questo parametro verrà ignorato. Questo parametro è mappato all'opzione `--memory-swappiness` su docker run.

Nell'esempio seguente viene fornita la sintassi JSON.

```
"containerDefinitions": [{
        ...
        "linuxParameters": {
            "maxSwap": integer,
            "swappiness": integer
        },
        ...
}]
```

## Considerazioni
<a name="container-swap-considerations"></a>

Quando utilizzi una configurazione swap container, considera quanto segue:
+ Lo spazio di swap deve essere abilitato e allocato sull'istanza di Amazon EC2 che ospita le attività per consentire ai container di utilizzarlo. Per impostazione predefinita, gli Amazon ECS ottimizzati AMIs non hanno lo swap abilitato. È necessario abilitare lo swap sull'istanza per utilizzare questa funzionalità. Per maggiori informazioni, consultare [Instance Store Swap Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-store-swap-volumes.html) nelle documentazioni *Guida per l'utente di Amazon EC2* o [Come posso allocare memoria da utilizzare come spazio di swap in un'istanza Amazon EC2 tramite un file di swap?](https://repost.aws/knowledge-center/ec2-memory-swap-file).
+ I parametri di definizione del container dello spazio di swap sono supportati solo per le definizioni di attività che specificano EC2. Questi parametri non sono supportati per le definizioni di attività destinate esclusivamente all'utilizzo di Amazon ECS su Fargate.
+ Questa caratteristica è supportata solo per i container Linux. Al momento i container Windows non sono supportati.
+ Se i parametri `maxSwap` e `swappiness` di definizione del container vengono omessi da una definizione di attività, ogni container avrà un valore `swappiness` predefinito di `60`. Inoltre, l'utilizzo totale dello swap è limitato a due volte la memoria del container.
+ Se utilizzi le attività su Amazon Linux 2023, il parametro `swappiness` non è supportato.