Mengelola ruang memori swap kontainer di Amazon ECS - Amazon Elastic Container Service

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

Mengelola ruang memori swap kontainer di Amazon ECS

Dengan AmazonECS, Anda dapat mengontrol penggunaan ruang memori swap pada instans EC2 Amazon berbasis Linux di tingkat penampung. Menggunakan konfigurasi swap per kontainer, setiap kontainer dalam definisi tugas dapat mengaktifkan swap atau dinonaktifkan. Bagi mereka yang mengaktifkannya, jumlah maksimum ruang swap yang digunakan dapat dibatasi. Misalnya, container latency-critical dapat menonaktifkan swap. Sebaliknya, wadah dengan permintaan memori transien yang tinggi dapat mengaktifkan swap untuk mengurangi kemungkinan out-of-memory kesalahan saat wadah sedang dimuat.

Konfigurasi swap untuk kontainer dikelola oleh parameter definisi kontainer berikut.

maxSwap

Jumlah total memori tukar (dalam MiB) yang dapat digunakan oleh kontainer. Parameter ini diterjemahkan ke --memory-swap opsi untuk docker run di mana nilainya adalah jumlah memori kontainer ditambah nilainya. maxSwap

Jika nilai maxSwap sebesar 0 ditentukan, kontainer tidak menggunakan swap. Nilai yang diterima adalah 0 atau bilangan bulat positif. Jika maxSwap parameter diabaikan, kontainer menggunakan konfigurasi swap untuk instans kontainer tempatnya berjalan. Nilai maxSwap harus ditetapkan untuk parameter swappiness yang akan digunakan.

swappiness

Anda dapat menggunakan ini untuk menyetel perilaku swappiness memori kontainer. swappinessNilai 0 penyebab pertukaran tidak terjadi kecuali diperlukan. swappinessNilai 100 penyebab halaman ditukar secara agresif. Nilai yang diterima adalah bilangan bulat antara 0 dan 100. Jika parameter swappiness tidak ditentukan, nilai default sebesar 60 akan digunakan. Jika nilai tidak ditentukan untukmaxSwap, parameter ini diabaikan. Parameter ini memetakan ke --memory-swappiness opsi untuk docker run.

Dalam contoh berikut, JSON sintaks disediakan.

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

Pertimbangan

Pertimbangkan hal berikut ketika Anda menggunakan konfigurasi swap per kontainer.

  • Ruang swap harus diaktifkan dan dialokasikan pada EC2 instans Amazon yang menghosting tugas Anda agar kontainer dapat digunakan. Secara default, Amazon yang ECS dioptimalkan AMIs tidak mengaktifkan swap. Anda harus mengaktifkan swap di instans untuk menggunakan fitur ini. Untuk informasi selengkapnya, lihat Volume Swap Toko Instance di Panduan EC2 Pengguna Amazon atau Bagaimana cara mengalokasikan memori agar berfungsi sebagai ruang swap di EC2 instans Amazon menggunakan file swap? .

  • Parameter definisi wadah ruang swap hanya didukung untuk definisi tugas yang menentukan jenis EC2 peluncuran. Parameter ini tidak didukung untuk definisi tugas yang ditujukan hanya untuk Amazon ECS pada penggunaan Fargate.

  • Fitur ini hanya didukung untuk kontainer Linux. Kontainer Windows tidak didukung saat ini.

  • Jika parameter definisi maxSwap dan swappiness kontainer dihilangkan dari definisi tugas, setiap kontainer memiliki swappiness nilai default. 60 Selain itu, total penggunaan swap dibatasi hingga dua kali memori wadah.

  • Jika Anda menggunakan tugas di Amazon Linux 2023, swappiness parameter tidak didukung.