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à.
Riservare la memoria delle istanze dei container Amazon ECS Linux
Quando l'agente Amazon ECS Container registra un'istanza di container in un cluster, deve determinare la quantità di memoria che l'istanza del contenitore ha a disposizione da riservare per le tue attività. A causa del sovraccarico di memoria della piattaforma e della memoria occupata dal kernel di sistema, questo numero è diverso dalla quantità di memoria installata pubblicizzata per le istanze Amazon. EC2 Ad esempio, un'istanza m4.large
dispone di 8 GiB di memoria installata. Tuttavia, ciò non sempre si traduce esattamente in 8192 MiB di memoria disponibili per le attività quando l'istanza del contenitore si registra.
L'agente ECS container Amazon fornisce una variabile di configurazione chiamataECS_RESERVED_MEMORY
, che puoi usare per rimuovere un numero specifico di MiB di memoria dal pool assegnato alle tue attività. In questo modo si riserva la memoria per i processi di sistema critici.
Se occupi tutta la memoria di un'istanza di contenitore per le tue attività, è possibile che queste abbiano a che fare con processi di sistema critici per la memoria e che possano causare un errore di sistema.
Ad esempio, se si specifica ECS_RESERVED_MEMORY=256
nel file di configurazione dell'agente contenitore, l'agente registra la memoria totale meno 256 MiB per quell'istanza e 256 MiB di memoria non possono essere allocati dalle attività. ECS Per ulteriori informazioni sulle variabili dell'agente e su come impostarle, vedere Configurazione di Amazon ECS Container Agent e Avvio delle istanze di container Amazon ECS Linux per il trasferimento di dati.
Se specifichi 8192 MiB per l'attività e nessuna delle istanze del contenitore dispone di 8192 MiB o più di memoria disponibile per soddisfare questo requisito, l'attività non può essere inserita nel cluster. Se si utilizza un ambiente di elaborazione gestito, è AWS Batch necessario avviare un tipo di istanza più grande per soddisfare la richiesta.
È inoltre necessario riservare un po' di memoria per l'agente Amazon ECS Container e altri processi di sistema critici sulle istanze di container, in modo che i contenitori dell'attività non contengano la stessa memoria e possano causare un errore di sistema.
L'agente ECS container Amazon utilizza la ReadMemInfo()
funzione Docker per interrogare la memoria totale disponibile per il sistema operativo. Sia Linux che Windows forniscono utilità da riga di comando per determinare la memoria totale.
Esempio - Determinare la memoria totale in Linux
Il comando free restituisce la memoria totale riconosciuta dal sistema operativo.
$
free -b
Esempio di output per un'm4.large
istanza che esegue Amazon Linux ECS AMI ottimizzato per Amazon.
total used free shared buffers cached Mem:
8373026816
348180480 8024846336 90112 25534464 205418496 -/+ buffers/cache: 117227520 8255799296
Questa istanza ha 8373026816 byte di memoria totale, che si traducono in 7985 MiB disponibili per le attività.
Esempio - Determinare la memoria totale in Windows
Il comando wmic restituisce la memoria totale riconosciuta dal sistema operativo.
C:\>
wmic ComputerSystem get TotalPhysicalMemory
Output di esempio per un'm4.large
istanza che esegue Windows Server ECS AMI ottimizzato per Amazon.
TotalPhysicalMemory
8589524992
Questa istanza ha 8589524992 byte di memoria totale, che si traducono in 8191 MiB disponibili per le attività.
Visualizzazione della memoria dell'istanza del contenitore
Puoi visualizzare la quantità di memoria con cui registra un'istanza di contenitore nella ECS console Amazon (o con l'DescribeContainerInstancesAPIoperazione). Se stai cercando di massimizzare l'utilizzo delle risorse fornendo alle tue attività quanta più memoria possibile per un particolare tipo di istanza, puoi osservare la memoria disponibile per quell'istanza del contenitore e quindi assegnare alle tue attività quella quantità di memoria.
Per visualizzare la memoria dell'istanza del contenitore
Apri la console nella https://console.aws.amazon.com/ecs/versione 2
. -
Nel riquadro di navigazione, scegli Cluster, quindi scegli il cluster che ospita l'istanza del contenitore.
-
Scegli Infrastruttura, quindi in Istanze di container, scegli un'istanza di contenitore.
-
La sezione Risorse mostra la memoria registrata e disponibile per l'istanza del contenitore.
Il valore di memoria registrata è quello dell'istanza del contenitore, registrato con Amazon ECS al primo avvio, e il valore di memoria disponibile è quello che non è già stato assegnato alle attività.