Gunakan core dump untuk menganalisis penyebab instance mesin virtual (VM) yang tidak responsif.
Untuk mengumpulkan dump core di Compute Engine, Anda harus mengonfigurasi VM untuk menerima sinyal Non-Maskable Interrupt (NMI), lalu menjalankan perintah SendDiagnosticInterrupt
untuk meminta kernel panic atau layar biru di sistem operasi Anda. Kernel panik atau layar biru memulai pengumpulan dump
inti oleh sistem operasi tamu. Selanjutnya, dump inti ini dapat digunakan untuk
tujuan proses debug, terutama dalam skenario yang sulit direproduksi, seperti
pembekuan kernel.
Sebelum memulai
- Pengiriman sinyal NMI dihitung dalam kuota API Kueri default. Untuk informasi selengkapnya, lihat Batas kapasitas API.
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses Google Cloud layanan dan API. Untuk menjalankan
kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Menginstal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
- Set a default region and zone.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, Anda menggunakan kredensial yang Anda berikan ke gcloud CLI.
Menginstal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
Peran yang diperlukan
Untuk memastikan bahwa akun pengguna atau akun layanan Anda memiliki izin yang diperlukan untuk mengirim sinyal NMI ke VM, minta administrator untuk memberi akun pengguna atau akun layanan Anda peran IAM Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.Peran bawaan ini berisi izin
compute.instances.sendDiagnosticInterrupt
yang diperlukan untuk mengirim sinyal NMI ke VM.Administrator Anda mungkin juga dapat memberikan izin ini kepada pengguna atau akun layanan Anda dengan peran khusus atau peran bawaan lainnya.
Ringkasan
Untuk menggunakan core dump guna membantu men-debug masalah keamanan atau VM yang tidak responsif, Anda harus menyelesaikan langkah-langkah berikut:
- Mengonfigurasi VM untuk menghasilkan core dump
- Kirim sinyal NMI untuk menghasilkan core dump
- Meninjau core dump
Batasan
Untuk VM yang mengaktifkan Booting Aman, Anda harus menonaktifkan Booting Aman sebelum mengirim sinyal gangguan NMI. Untuk mengetahui petunjuknya, baca Mengubah opsi Shielded VM pada instance VM.
Mengonfigurasi VM
Respons VM saat menerima sinyal gangguan NMI bergantung pada konfigurasi sistem operasi VM.
Setiap sistem operasi menulis log dump intinya di lokasi yang berbeda. Misalnya, dalam sistem operasi Ubuntu, file error dump disimpan ke
/var/crash/
secara default.Untuk mengonfigurasi OS tamu agar menghasilkan error dump saat sinyal NMI diterima, tinjau dokumentasi untuk sistem operasi yang didukung.
Sistem operasi Link ke petunjuk Catatan tambahan Ubuntu Ubuntu: File dump error kernel Untuk VM Linux, Anda harus mengonfigurasi kernel agar mengalami error saat menerima sinyal interupsi NMI.
Untuk mengonfigurasi kernel agar tidak bekerja, tambahkan baris berikut ke file konfigurasi Anda:
kernel.unknown_nmi_panic=1
SUSE Linux Enterprise Server (SLES) Mengonfigurasi memori errorkernel untuk analisis dump inti kernel Red Hat Enterprise Linux (RHEL) Gunakan kedua dokumen berikut:
Container-Optimized OS (COS) Mengaktifkan Kernel Crash Dump pada Instance COS GCE Hanya COS 93 dan yang lebih baru yang mendukung pembuatan kdump menggunakan sinyal NMI. Windows Menghasilkan kernel atau seluruh error dump VM klien Windows tidak menyimpan file memory dump kecuali jika file tersebut merupakan anggotadomain AD atau hal berikut berlaku:
- Registry menetapkan
AlwaysKeepMemoryDump
ke1
- Disk memiliki ruang kosong lebih dari 25 GB
Untuk informasi selengkapnya, lihat Penyimpanan dump Kernel dan perilaku pembersihan di Windows 7
Mengirim NMI untuk menghasilkan core dump
Setelah mengonfigurasi VM, Anda dapat mengirim sinyal NMI ke VM menggunakan Google Cloud CLI atau REST.
gcloud
Untuk mengirim sinyal NMI, gunakan perintah
instances send-diagnostic-interrupt
.gcloud compute instances send-diagnostic-interrupt VM_NAME \ --zone=ZONE
Ganti kode berikut:
VM_NAME
: ID instance atau nama VM tempat Anda ingin mengumpulkan core dumpZONE
: zona tempat VM Anda berada
Outputnya mirip dengan berikut ini:
<Empty Response>
Untuk mengetahui daftar lengkap output, lihat bagian berikutnya dalam dokumen ini tentang "Respons perintah NMI".
REST
Opsional. Jika belum tersedia, buat kunci API. Untuk informasi selengkapnya tentang membuat kunci API, lihat Membuat kunci API.
Untuk mengirim sinyal NMI, buat permintaan
POST
ke metodesendDiagnosticInterrupt
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/sendDiagnosticInterrupt?key=API_KEY
Misalnya, Anda dapat menggunakan perintah
curl
untuk membuat permintaan sebagai berikut:curl --request POST 'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/sendDiagnosticInterrupt?key=API_KEY' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' \ --header 'Accept: application/json' \ --compressed
Ganti kode berikut:
PROJECT_ID
: ID project tempat VM akan dibuatZONE
: zona tempat VM Anda beradaVM_NAME
: ID instance atau nama VM tempat Anda ingin mengumpulkan core dumpAPI_KEY
: Kunci API Anda
Outputnya mirip dengan berikut ini:
<Empty Response>
Untuk mengetahui daftar lengkap output, baca bagian selanjutnya dalam dokumen ini tentang "respons perintah NMI".
Respons perintah NMI
Salah satu respons berikut ditampilkan saat Anda mencoba mengirim sinyal NMI.
Status Isi Catatan BERHASIL <Empty Response>
SUCCESS
menunjukkan bahwa sinyal NMI dikirim ke sistem operasi. Tindakan ini tidak menjamin bahwa core dump dikumpulkan, atau bahwa VM dinonaktifkan atau dimulai ulang. Perilaku ini ditentukan oleh konfigurasi sistem operasi.GAGAL UNSUPPORTED_OPERATION
Ini terjadi ketika sistem operasi gagal menerima sinyal NMI. Ada beberapa alasan untuk hal ini. Skenario umumnya adalah VM sedang dimigrasikan langsung atau VM tidak dikonfigurasi dengan benar untuk menerima sinyal NMI.
Untuk mengatasi hal ini, Anda dapat mencoba langkah berikut:- Pastikan bahwa VM dikonfigurasi dengan benar. Lihat Mengonfigurasi VM.
- Tunggu dan coba lagi permintaan
SendDiagnosticInterrupt
.
GAGAL Required 'compute.instances.sendDiagnosticInterrupt' permission for [..]
Perintah gagal karena pengguna yang mengajukan permintaan tidak memiliki izin yang memadai.
Untuk mengatasi hal ini, Anda dapat menetapkan peran kepada pengguna yang berisi izincompute.instances.sendDiagnosticInterrupt
.Meninjau dump inti
Tinjau file dump error di lokasi yang dikonfigurasi atau default untuk sistem operasi Anda.
Misalnya, dalam sistem operasi Ubuntu, secara default, file dump error disimpan ke
/var/crash/
.Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-09-04 UTC.
-