Mengonfigurasi batas memori

Pelajari cara menetapkan batas memori yang digunakan oleh instance container Anda di Penyajian Knative.

Memahami penggunaan memori

Instance penampung penayangan Knative yang melampaui akan dihentikan.

Hal berikut diperhitungkan dalam memori yang tersedia di instance container 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 memori maksimum yang dapat Anda konfigurasi dibatasi oleh konfigurasi dari cluster GKE Anda.

Mengoptimalkan memori

Anda bisa menentukan persyaratan memori puncak untuk suatu layanan menggunakan metode berikut: (Memori Berdiri) + (Memori per Permintaan) * (Konskurensi Layanan)

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 Anda men-deploy service atau memperbarui layanan yang ada dan men-deploy revisi:

Konsol

  1. Buka penyaluran Knative di Konsol Google Cloud:

    Buka penayangan Knative

  2. Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang ada, klik layanan, lalu klik Edit & Deploy Revisi Baru.

  3. Di bagian Setelan lanjutan, klik Penampung.

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

  5. Klik Berikutnya untuk melanjutkan ke bagian berikutnya.

  6. Di bagian Konfigurasi cara layanan ini dipicu, memilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.

  7. Klik Create untuk men-deploy image ke inferensi Knative, lalu tunggu hingga deployment selesai.

Command line

  • Untuk layanan yang ada, perbarui batas memori dengan menjalankan perintah gcloud run services update dengan --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 masing-masing sama dengan gigabyte, megabyte, atau kilobyte, atau menggunakan padanan pangkat dua: Gi, Mi, Ki yang sesuai dengan gibibita, mebibita atau kibibita.
  • Untuk layanan baru, tetapkan batas memori dengan menjalankan perintah gcloud run deploy dengan --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 masing-masing sama dengan gigabyte, megabyte, atau kilobyte, atau menggunakan padanan pangkat dua: Gi, Mi, Ki yang sesuai dengan gibibita, mebibita atau kibibita.

YAML

Anda dapat mendownload konfigurasi layanan yang ada ke YAML dengan perintah gcloud run services describe menggunakan Tanda --format=export. Anda kemudian dapat memodifikasi file YAML itu 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 menjadi file bernama service.yaml pada ruang kerja lokal:

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

    Ganti SERVICE dengan nama Anda Layanan penyaluran Knative.

  2. Di file lokal Anda, 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 adalah angka tetap atau floating point yang diikuti dengan satuan: G, M, atau K yang sesuai dengan gigabyte, megabyte, atau kilobyte, masing-masing, atau menggunakan pangkat dua yang setara: Gi, Mi, Ki sesuai dengan gibibyte, mebibyte, atau kibibyte.

  3. Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:

    gcloud run services replace service.yaml