View a markdown version of this page

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 Amazon ECS, Anda dapat mengontrol penggunaan ruang memori swap pada instans Linux-based Amazon EC2 Anda di tingkat kontainer. Menggunakan konfigurasi swap per kontainer, setiap wadah dalam definisi tugas dapat mengaktifkan atau menonaktifkan swap. Bagi mereka yang mengaktifkannya, jumlah maksimum ruang swap yang digunakan dapat dibatasi. Misalnya, wadah kritis latensi dapat menonaktifkan swap. Sebaliknya, wadah dengan tuntutan memori transien yang tinggi dapat mengaktifkan swap untuk mengurangi kemungkinan kesalahan kehabisan memori saat wadah sedang dimuat.

Konfigurasi swap untuk wadah 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 nil maxSwap ainya.

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. Nilai swappiness 0 menyebabkan pertukaran tidak terjadi kecuali diperlukan. Nilai swappiness 100 menyebabkan 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, sintaks JSON disediakan.

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

Pertimbangan-pertimbangan

Pertimbangkan hal berikut ketika Anda menggunakan konfigurasi swap per kontainer.

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

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

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

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

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