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
Buka penyaluran Knative di Konsol Google Cloud:
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.
Di bagian Setelan lanjutan, klik Penampung.
Pilih ukuran memori yang diinginkan dari Daftar dropdown Memory allocated.
Klik Berikutnya untuk melanjutkan ke bagian berikutnya.
Di bagian Konfigurasi cara layanan ini dipicu, memilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.
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
, atauK
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
, atauK
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.
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.
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
, atauK
yang sesuai dengan gigabyte, megabyte, atau kilobyte, masing-masing, atau menggunakan pangkat dua yang setara:Gi
,Mi
,Ki
sesuai dengan gibibyte, mebibyte, atau kibibyte.Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:
gcloud run services replace service.yaml