All Products
Search
Document Center

Application Real-Time Monitoring Service:Diagnosis penggunaan memori heap tinggi dengan memory hotspot

Last Updated:Sep 05, 2026

Fitur memory hotspot di Application Real-Time Monitoring Service (ARMS) membantu mengidentifikasi akar penyebab tingginya penggunaan memori heap Java Virtual Machine (JVM). Fitur ini menggunakan continuous profiling untuk mencatat ukuran dan frekuensi alokasi memori setiap kali sebuah thread melebihi ambang batas alokasi heap, serta mengambil snapshot tumpukan metode pada saat tersebut. Ketika sistem Anda mengalami pemanfaatan memori heap JVM yang tinggi, memory hotspot dengan cepat menunjukkan metode logika bisnis spesifik yang menyebabkan permintaan memori heap besar atau sering.

Aktifkan memory hotspot

  1. Masuk ke ARMS console. Di panel navigasi sebelah kiri, pilih Application Monitoring > Application List.

  2. Pada halaman Application List, pilih wilayah di bagian atas, lalu klik nama aplikasi Anda.

    Catatan

    Ikon pada kolom Language menunjukkan hal berikut:

    Java图标: Aplikasi Java yang terhubung ke Application Monitoring.

    image: Aplikasi Go yang terhubung ke Application Monitoring.

    image: Aplikasi Python yang terhubung ke Application Monitoring.

    -: Aplikasi yang terhubung ke Managed Service for OpenTelemetry.

  3. Di panel navigasi sebelah kiri, klik Application Settings, lalu klik tab Custom Configuration.

  4. Pada bagian Continuous profiling, aktifkan Main switch, lalu aktifkan sakelar Memory hotspot. Tentukan alamat IP instans aplikasi yang akan diaktifkan atau Blok CIDR untuk sekelompok instans.

  5. Di bagian bawah halaman, klik Save.

    Perubahan berlaku segera. Tidak diperlukan restart aplikasi.

Lihat data memory hotspot

Contoh: Sebuah metode yang mengalokasikan 1 MB memori heap per detik.

public class FixedRateAllocAction {

    // Titik masuk untuk permintaan.
   public void runBusiness() {
        try {
            sink = new byte[1024];
        } catch (InterruptedException e) {
            // Abaikan
        }
    }
}
  1. Masuk ke ARMS console. Di panel navigasi sebelah kiri, pilih Application Monitoring > Application List.

  2. Pada halaman Application List, pilih wilayah di bagian atas, lalu klik nama aplikasi Anda.

    Catatan

    Ikon pada kolom Language menunjukkan hal berikut:

    Java图标: Aplikasi Java yang terhubung ke Application Monitoring.

    image: Aplikasi Go yang terhubung ke Application Monitoring.

    image: Aplikasi Python yang terhubung ke Application Monitoring.

    -: Aplikasi yang terhubung ke Managed Service for OpenTelemetry.

  3. Di panel navigasi sebelah kiri, klik Continuous profiling. Dari daftar instans di sebelah kiri, pilih instans target Anda, lalu atur rentang waktu untuk data tersebut di sebelah kanan.

  4. Pada tab Single View, Anda dapat menyaring data dan melihat analisis agregat.

  5. Klik Aggregation & Analysis. Pada halaman yang muncul, atur Profiling Type menjadi Allocated Memory.

    Catatan

    Jenis profiling:

    • CPU Time: Data profiling hotspot CPU. Untuk informasi selengkapnya, lihat Diagnosis pemanfaatan CPU tinggi dengan CPU hotspot.

    • Allocated Memory: Data profiling memory hotspot berdasarkan volume alokasi.

    • Allocations: Data profiling memory hotspot berdasarkan frekuensi alokasi. Ini membantu mengidentifikasi metode mana yang sering meminta memori.

    Pada halaman Aggregation & Analysis, daftar di sebelah kiri menampilkan volume alokasi memori heap dari semua metode yang terlibat dalam panggilan ini. Graf nyala di sebelah kanan dihasilkan dari jejak tumpukan metode-metode tersebut. Kolom-kolom tersebut didefinisikan sebagai berikut:

    • Kolom Self menunjukkan sumber daya yang dikonsumsi oleh suatu metode, tidak termasuk metode anaknya. Ini membantu mengidentifikasi metode yang mengonsumsi sumber daya signifikan.

    • Kolom Total menunjukkan sumber daya yang dikonsumsi oleh suatu metode beserta metode anaknya. Ini membantu mengidentifikasi kontributor terbesar terhadap konsumsi sumber daya dalam tumpukan panggilan.

    Lakukan analisis berikut:

    1. Urutkan kolom Self secara menurun. Temukan dan klik metode dengan nilai Self terbesar, yaitu com.alibaba.cloud.pressure.memory.FixedRateAllocAction.runBusiness(). Graf nyala di sebelah kanan akan difokuskan pada metode yang relevan.

    2. Pada graf nyala yang difokuskan di sebelah kanan, com.alibaba.cloud.pressure.memory.FixedRateAllocAction.runBusiness() merupakan bingkai paling lebar di bagian atas.

    3. Bingkai lebar di bagian atas graf nyala merepresentasikan metode yang ditentukan oleh aplikasi. Hal ini menunjukkan bahwa metode com.alibaba.cloud.pressure.memory.FixedRateAllocAction.runBusiness() merupakan bottleneck kinerja signifikan yang mengonsumsi sumber daya besar selama profiling. Gunakan nama metode tersebut untuk memeriksa logika bisnisnya guna mencari peluang optimasi.

Berdasarkan analisis ini, metode com.alibaba.cloud.pressure.memory.FixedRateAllocAction.runBusiness() mengalokasikan 56,56 MB memori heap dalam satu menit, yang sesuai dengan contoh.

Referensi

Anda dapat menggunakan fitur continuous profiling untuk menyelidiki jejak lambat dan pemanfaatan CPU tinggi. Untuk informasi selengkapnya, lihat topik berikut:

Untuk isu umum terkait continuous profiling, lihat FAQ.