Agen ARMS menggunakan sekitar 100 GB memori. Fitur lanjutan seperti Continuous Profiling menambahkan beban tambahan. Jika aplikasi Anda melemparkan OutOfMemoryError setelah dihubungkan ke Pemantauan Aplikasi, tingkatkan alokasi memori JVM untuk wilayah memori yang disebutkan dalam pesan kesalahan tersebut.
Identifikasi jenis kesalahan dari jejak stack atau log aplikasi Anda, lalu terapkan perbaikan yang sesuai.
| Error | Penyebab | Perbaikan |
|---|---|---|
OutOfMemoryError: Java heap space | Memori heap tidak mencukupi | Tingkatkan -Xms dan -Xmx |
OutOfMemoryError: PermGen space | Ruang generasi permanen tidak mencukupi (Java 7 dan versi sebelumnya) | Tingkatkan -XX:PermSize dan -XX:MaxPermSize |
OutOfMemoryError: Metaspace | Metaspace tidak mencukupi (Java 8 dan versi setelahnya) | Tingkatkan -XX:MetaspaceSize dan -XX:MaxMetaspaceSize |
OutOfMemoryError: Java heap space
JVM kehabisan memori heap. Tambahkan parameter -Xms (ukuran awal) dan -Xmx (ukuran maksimum) ke opsi startup JVM Anda:
-Xms1024M
-Xmx2048MContoh ini mengatur ukuran heap awal menjadi 1 GB dan heap maksimum menjadi 2 GB. Sesuaikan nilai-nilai tersebut berdasarkan kebutuhan memori aplikasi Anda.
Di lingkungan seperti Tomcat, tambahkan parameter ini ke JAVA_OPTS dalam file konfigurasi.
Anda juga dapat menggunakan -XX:InitialHeapSize dan -XX:MaxHeapSize untuk mengatur ukuran heap sebagai persentase. Untuk detail selengkapnya, lihat dokumentasi JDK.
OutOfMemoryError: PermGen space
Ruang generasi permanen (PermGen) telah habis. Kesalahan ini berlaku untuk Java 7 dan versi sebelumnya. Tingkatkan alokasi PermGen:
-XX:PermSize=256M
-XX:MaxPermSize=512MOutOfMemoryError: Metaspace
Metaspace telah habis. Kesalahan ini berlaku untuk Java 8 dan versi setelahnya, di mana Metaspace menggantikan PermGen. Tingkatkan alokasi Metaspace:
-XX:MetaspaceSize=256M
-XX:MaxMetaspaceSize=512M