Memesan memori instans kontainer Amazon ECS Linux - Amazon Elastic Container Service

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

Memesan memori instans kontainer Amazon ECS Linux

Saat agen penampung Amazon ECS mendaftarkan instance kontainer ke klaster, agen harus menentukan berapa banyak memori yang tersedia untuk dicadangkan oleh instans penampung untuk tugas Anda. Karena overhead memori platform dan memori yang ditempati oleh kernel sistem, jumlah ini berbeda dengan jumlah memori terinstal yang diiklankan untuk instans Amazon EC2. Contohnya, instans m4.large memiliki memori terinstal sebesar 8 GiB. Namun, ini tidak selalu diterjemahkan ke tepat 8192 MiB memori yang tersedia untuk tugas saat instance container mendaftar.

Agen penampung Amazon ECS menyediakan variabel konfigurasi yang disebutECS_RESERVED_MEMORY, yang dapat Anda gunakan untuk menghapus sejumlah memori MiB tertentu dari kumpulan yang dialokasikan untuk tugas Anda. Ini secara efektif menyimpan memori untuk proses sistem yang penting.

Jika Anda menempati semua memori pada instance kontainer dengan tugas Anda, maka ada kemungkinan bahwa tugas Anda akan bersaing dengan proses sistem penting untuk memori dan mungkin memulai kegagalan sistem.

Misalnya, jika Anda menentukan ECS_RESERVED_MEMORY=256 dalam file konfigurasi agen kontainer Anda, agen akan mendaftarkan memori total dikurangi 256 MiB untuk instans tersebut, dan 256 MiB memori tidak dapat dialokasikan untuk tugas ECS. Untuk informasi lebih lanjut tentang variabel konfigurasi agen dan cara mengaturnya, lihat Konfigurasi agen kontainer Amazon ECS dan Bootstrapping instans penampung Amazon ECS Linux untuk meneruskan data.

Jika Anda menentukan 8192 MiB untuk tugas tersebut, dan tidak ada instance container Anda yang memiliki 8192 MiB atau lebih besar memori yang tersedia untuk memenuhi persyaratan ini, maka tugas tersebut tidak dapat ditempatkan di cluster Anda. Jika Anda menggunakan lingkungan komputasi terkelola, maka AWS Batch harus meluncurkan jenis instans yang lebih besar untuk mengakomodasi permintaan.

Anda juga harus menyimpan beberapa memori untuk agen penampung Amazon ECS dan proses sistem penting lainnya pada instance penampung Anda, sehingga kontainer tugas Anda tidak bersaing untuk memori yang sama dan mungkin memulai kegagalan sistem.

Agen kontainer Amazon ECS menggunakan fungsi ReadMemInfo() Docker untuk kueri total memori yang tersedia untuk sistem operasi. Baik Linux dan Windows menyediakan utilitas baris perintah untuk menentukan total memori.

contoh - Menentukan memori total Linux

Perintah free menampilkan memori total yang diakui oleh sistem operasi.

$ free -b

Contoh output untuk instans m4.large yang menjalankan AMI Amazon Linux yang dioptimalkan untuk Amazon ECS.

total used free shared buffers cached Mem: 8373026816 348180480 8024846336 90112 25534464 205418496 -/+ buffers/cache: 117227520 8255799296

Instans ini memiliki 8373026816 byte memori total, yang diterjemahkan menjadi 7985 MiB yang tersedia untuk tugas.

contoh - Menentukan memori total Windows

Perintah wmic menampilkan memori total yang diakui oleh sistem operasi.

C:\> wmic ComputerSystem get TotalPhysicalMemory

Contoh keluaran untuk m4.large instance yang menjalankan AMI Windows Server Amazon ECS yang dioptimalkan.

TotalPhysicalMemory 8589524992

Instans ini memiliki 8589524992 byte memori total, yang diterjemahkan menjadi 8191 MiB yang tersedia untuk tugas.

Melihat memori instance kontainer

Anda dapat melihat berapa banyak memori yang didaftarkan oleh instans kontainer di konsol Amazon ECS (atau dengan operasi API DescribeContainerInstans). Jika Anda mencoba memaksimalkan pemanfaatan sumber daya Anda dengan menyediakan tugas Anda sebanyak mungkin memori untuk jenis instance tertentu, Anda dapat mengamati memori yang tersedia untuk instance kontainer itu dan kemudian menetapkan tugas Anda sebanyak itu memori.

Untuk melihat memori instance kontainer
  1. Buka konsol di https://console.aws.amazon.com/ecs/v2.

  2. Di panel navigasi, pilih Clusters, lalu pilih cluster yang menghosting instance container Anda.

  3. Pilih Infrastruktur, dan kemudian di bawah Instance Container, pilih instance container.

  4. Bagian Resources menunjukkan memori terdaftar dan tersedia untuk instance container.

    Nilai memori Terdaftar adalah contoh kontainer; terdaftar dengan Amazon ECS saat pertama kali diluncurkan, dan nilai memori yang tersedia adalah apa yang belum dialokasikan untuk tugas.