Mengonfigurasi batas memori

Pelajari cara menetapkan batas untuk memori yang digunakan oleh instance penampung Anda dalam penayangan Knative.

Memahami penggunaan memori

Instance container penayangan Knative yang melebihi batas memori yang diizinkan akan dihentikan.

Berikut hal-hal yang termasuk dalam memori yang tersedia untuk instance penampung Anda:

  • Menjalankan aplikasi yang dapat dieksekusi (karena file yang dapat dieksekusi harus dimuat ke memori)
  • Mengalokasikan memori dalam proses aplikasi Anda
  • Menulis file ke sistem file

Ukuran image container yang di-deploy tidak termasuk dalam memori yang tersedia.

Jumlah memori maksimum

Jumlah maksimum memori yang dapat Anda konfigurasi dibatasi oleh konfigurasi cluster GKE Anda.

Mengoptimalkan memori

Anda dapat menentukan kebutuhan memori tertinggi untuk layanan dengan mengikuti: (Standing Memory) + (Memory per Request) * (Service Concurrency)

Oleh karena itu,

  • Jika Anda meningkatkan konkurensi layanan, Anda juga harus meningkatkan batas memori untuk memperkirakan penggunaan tertinggi.

  • Jika Anda menurunkan konkurensi layanan, pertimbangkan juga untuk mengurangi batas memori guna menghemat biaya penggunaan memori.

Untuk panduan lebih lanjut tentang meminimalkan penggunaan memori per permintaan, baca Tips Pengembangan Variabel Global.

Menetapkan dan memperbarui batas memori

Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.

Anda dapat menetapkan batas memori menggunakan konsol Google Cloud, Google Cloud CLI, atau file YAML saat men-deploy layanan baru atau memperbarui layanan yang ada dan men-deploy revisi:

Konsol

  1. Buka penayangan Knative di konsol Google Cloud:

    Buka Inferensi Knative

  2. Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan tersebut, lalu klik Edit & Deploy New Revision.

  3. Di bagian Setelan lanjutan, klik Penampung.

  4. Pilih ukuran memori yang diinginkan dari menu dropdown Memory allocated.

  5. Klik Berikutnya untuk melanjutkan ke bagian berikutnya.

  6. Di bagian Configure how this service is triggered, pilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.

  7. Klik Create untuk men-deploy image ke layanan Knative dan tunggu deployment selesai.

Command line

  • Untuk layanan yang ada, perbarui batas memori dengan menjalankan perintah gcloud run services update dengan parameter --memory:

    gcloud run services update SERVICE --memory SIZE

    Ganti:

    • SERVICE dengan nama layanan Anda.
    • SIZE dengan ukuran memori yang diinginkan. Format untuk ukuran adalah angka tetap atau floating point yang diikuti dengan satuan: G, M, atau K yang sesuai dengan gigabyte, megabyte, atau kilobyte, atau gunakan pangkat dua yang setara: Gi, Mi, Ki yang sesuai dengan gibibyte, mebibyte, atau kibibyte.
  • Untuk layanan baru, tetapkan batas memori dengan menjalankan perintah gcloud run deploy dengan parameter --memory:

    gcloud run deploy SERVICE --image=IMAGE_URL --memory SIZE

    Ganti:

    • SERVICE dengan nama layanan Anda.
    • IMAGE_URL dengan referensi ke image container, misalnya, gcr.io/cloudrun/hello.
    • SIZE dengan ukuran memori yang diinginkan. Format untuk ukuran adalah angka tetap atau floating point yang diikuti dengan satuan: G, M, atau K yang sesuai dengan gigabyte, megabyte, atau kilobyte, atau gunakan pangkat dua yang setara: Gi, Mi, Ki yang sesuai dengan gibibyte, mebibyte, atau kibibyte.

YAML

Anda dapat mendownload konfigurasi layanan yang ada ke dalam file YAML dengan perintah gcloud run services describe menggunakan tanda --format=export. Kemudian, Anda dapat mengubah file YAML tersebut dan men-deploy perubahan tersebut dengan perintah gcloud run services replace. Anda harus memastikan bahwa Anda hanya mengubah atribut yang ditentukan.

  1. Download konfigurasi layanan Anda ke file bernama service.yaml di ruang kerja lokal:

    gcloud run services describe SERVICE --format export > service.yaml

    Ganti SERVICE dengan nama layanan penayangan Knative Anda.

  2. Di file lokal, perbarui atribut memory:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE_NAME
    spec:
      template:
        spec:
          containers:
    image: IMAGE_URL
            resources:
              limits:
                memory: SIZE

    Ganti SIZE dengan ukuran memori yang diinginkan. Formatnya yaitu bilangan tetap atau floating point yang diikuti dengan satuan: G, M, atau K yang sesuai dengan gigabyte, megabyte, atau kilobyte, atau gunakan pangkat dua yang setara: Gi, Mi, Ki yang sesuai dengan gibibyte, mebibyte, atau kibibyte.

  3. Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:

    gcloud run services replace service.yaml