Dokumen ini menjelaskan cara mendapatkan ringkasan heap memori operator AlloyDB Omni untuk membantu mendiagnosis dan men-debug potensi masalah memori. Gunakan langkah-langkah berikut untuk mendapatkan heap memori untuk analisis:
Tentukan deployment operator AlloyDB Omni yang akan dianalisis. Operator AlloyDB Omni menyertakan dua deployment, dan Anda dapat menganalisis heap memori untuk salah satunya. Untuk mengidentifikasi dua deployment, jalankan perintah berikut:
kubectl get deployment -n alloydb-omni-system
Output akan menampilkan dua deployment di namespace
alloydb-omni-system
:fleet-controller-manager
local-controller-manager
Anda bisa mendapatkan heap memori dari salah satu deployment. Untuk tujuan demonstrasi, langkah-langkah ini menunjukkan cara mendapatkan heap memori untuk deployment
local-controller-manager
.Aktifkan analisis memori dengan menentukan port yang tersedia untuk digunakan. Setelah port ditentukan, pod akan dimulai ulang. Untuk menentukan port yang tersedia, gunakan argumen
pprof-address
dalam deployment:Buka deployment di editor teks dengan menjalankan perintah berikut:
kubectl edit -n alloydb-omni-system deploy local-controller-manager
Tentukan port di
args
bagiancontainer
di templatespec
:apiVersion: apps/v1 kind: Deployment spec: ... template: ... spec: containers: - args - --pprof-address=:PORT
Simpan file deployment. Setelah Anda menyimpan file deployment, pod akan dimulai ulang.
Tunggu hingga pod dimulai ulang sebelum melanjutkan ke langkah berikutnya.
Untuk memastikan pod dimulai ulang, jalankan perintah berikut:
kubectl get pod -n alloydb-omni-system
Verifikasi bahwa nilai output di kolom
STATUS
pod adalahRunning
dan nilai output di kolomAGE
-nya adalah durasi singkat. Misalnya, jika kolomSTATUS
adalahRunning
dan nilai di kolomAGE
adalah50s
, maka pod telah berjalan selama 50 detik setelah dimulai ulang.Aktifkan penerusan port menggunakan perintah berikut:
kubectl port-forward -n alloydb-omni-system DEPLOYMENT_POD_NAME PORT:PORT
Ganti DEPLOYMENT_POD_NAME dengan nama deployment Anda seperti yang muncul di kolom
NAME
pada output perintah berikut:kubectl get pod -n alloydb-omni-system
Di terminal lain, jalankan perintah berikut untuk membuat file dengan snapshot heap memori deployment:
curl http://localhost:PORT/debug/pprof/heap > heap.out
Simpan file
heap.out
dan gunakan untuk melihat heap memori deployment operator AlloyDB Omni yang Anda pilih untuk dianalisis.Nonaktifkan analisis memori dengan menghapus argumen
pprof-address
dengan port yang Anda gunakan dari deployment:Buka deployment di editor teks:
kubectl edit -n alloydb-omni-system deploy local-controller-manager
Hapus baris port
--pprof-address=:PORT
dariargs
bagiancontainer
dalam templatespec
yang Anda tambahkan sebelumnya.
Langkah selanjutnya
- Menjalankan dan terhubung ke AlloyDB Omni
- Membuat dan mendiagnosis file dump AlloyDB Omni
- Pelajari pengelolaan memori otomatis