Mengenal Java Heap Space dan Cara Mengatasinya

dokumen-dokumen yang mirip
Membuat Virtual Hard Disk Drive Di Windows 7

Cara Membuat Format Halaman Berbeda Dalam Satu File Di MS Word 2007/2010

Virtual Machine (VMware Workstation)

Cara Membuat Jaringan Peer to Peer Di Windows 7

Cara Membuat Aplikasi Konversi Suhu Dengan Menggunakan NetbeansIDE6.5

BAB IV IMPLEMENTASI DAN ANALISA

Tutorial Cara Sharing Data/File di Windows 7 dengan Kabel LAN

Persiapan. 2.1 Hardware

1 - Pengenalan Java PENDAHULUAN

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 1 PENGENALAN LINGKUNGAN PEMROGRAMAN JAVA

ADempiere. Persiapan sebelum instalasi ADempiere, adalah sebagai berikut :

Cara Menambah Ukuran RAM Komputer atau Laptop Tanpa Software

Pemrograman Java. Compiler. Interpreter

Java Fundamental. Saniati STMIK Teknokrat, Bandar Lampung

MODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA

Instalasi Android SDK Maret 2012 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Windows XP, Eclipse

INTRODUCTION TO JAVA

INSTALASI JAVA SDK DAN NETBEANS IDE 7.4

Praktikum Pemograman Berorientasi Objek

Modul 1 Pengenalan Java. Oleh: Mike Yuliana PENS-ITS

persiapan "tools" untuk membuat aplikasi blackberry

Percobaan 9 Basic Widget

persiapan "tools" untuk membuat aplikasi blackberry

Review C/C++ & Intro to Java. Pemrograman Berorientasi Obyek IT209

Instalasi Framework Laravel di Windows dan di Linux Ubuntu

Instalasi SDK dan AVD

INSTRUKSI PENCABANGAN

BAB 2 PENGENALAN JAVA. Tujuan:

INTRODUCTION JAVA NORHIKMAH,M.KOM

Mengenal Jenis-jenis VGA Komputer

UNIVERSITAS KOMPUTER INDONESIA

Emulator Android Di Linux

Pada akhir pembahasan, peserta diharapkan dapat :

Pengenalan J2ME (Java 2 Platform Micro Edition)

Langkah-Langkah Membangun Komputer Virtual Dengan Vmware Workstation

BAB IV HASIL DAN UJI COBA

Manual Installation Perceptive Content Web

Mengenal Pemograman Android Menggunakan Eclipse

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab 1. Pengenalan JSP POKOK BAHASAN: TUJUAN BELAJAR: 1.1 Dasar JSP

PENGANTAR KOMPUTER & SOFTWARE II

PENGEMBANGAN PROJECT MICROCONTROLLER DENGAN ARDUINO IDE

BAB IV HASIL DAN PEMBAHASAN

Pemrograman dengan Java

I. Pengenalan Play Framework

Modul ke: APLIKASI KOMPUTER. Pengoperasian Dasar Windows. Fakultas FASILKOM. Ramayanti, S.Kom, MT. Program Studi Teknik Informatika

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

Insani Ning Arum

BAB IV IMPLEMENTASI DAN EVALUASI SISTEM

INTRODUCTION TO NETBEANS IDE

1

LAPORAN 2 PEMOGRAMAN JAVA III APPLICATION PROGRAMMING INTERFACE

Content: Pengenalan Web Server Pengenalan MY SQL Connector Pengenalan CodeCharge Studio (CCS)

Gambar 1. Perangkat mobile Android

Cara & Tutorial Menambah RAM Pc/Laptop Dengan Flash Disk Tanpa Software

Pengantar Pemrograman dengan Bahasa Java

Pengantar Pemrograman dengan Bahasa Java

Struktur Kontrol Kondisi Dalam PHP

ANALISIS PADA JARINGAN KOMPUTER DENGAN METODE VIRTUALISASI

Virtual PC dapat berjalan di Windows XP, Vista maupun Windows 7. Saya melakukan installasi pada Windows 7, 64 bit.

Cara Install WordPress Offline di Localhost XAMPP. Jackson Sihite. Abstrak. Pendahuluan.

Rima Hidayati

MENGENAL WEMOS D1 MINI DALAM DUNIA IOT

Cara Install Java SE Development Kit (JDK) di Windows

DATABASE SQL SERVER. Database SQL Server Halaman 1

CARA INSTALL MIKROTIK MENGGUNAKAN VM VIRTUALBOX

LAPORAN 4 PEMOGRAMAN JAVA III APPLICATION PROGRAMMING INTERFACE

TUTORIAL INSTALLASI SISTEM OPERASI MENGGUNAKAN VMWARE WORKSTATION

Tugas Rekayasa Perangkat Lunak Berorientasi Obyek Review IDE untuk Java (NetBeans, Eclipse, Intellij IDEA)

PRAKTIKUM 1 DASAR PEMROGRAMAN JAVA

Perkenalan.

Web Service: Memulai Proyek

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

Mengenal & Menggunakan Google Drive

Pemrograman Berbasis Objek. Pengenalan Java. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya

Cara Faktory Reset Android

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM. program. Pada awal bagian ini dijabarkan spesifikasi perangkat keras dan lunak pada

SMK BATIK 2 SURAKARTA

Pertemuan 1 Pengenalan Web Server dan Server Side Scripting

BAB 8 Argumen dari Command-line

Cara Menginstall Windows Xp

Step By Step IIS By Prihastomo

MAKALAH VIRTUAL MEMORY

Persiapan Sebelum mengikuti tutorial ini, ada baiknya pembaca mendownload perangkat lunak yang dibutuhkan yaitu sebagai berikut:

Membuat Game Java Sederhana

Budi Dwi O.

Mengenal Web Dinamis dan Statis Serta Perbedaanya

Mudafiq R. Pratama Pendahuluan. Dasar Teori. Lisensi Dokumen:

Daftar Isi» Persiapan

MEMBANGUN APLIKASI E BOOK READER DENGAN JAVA MICRO EDITION (JAVA ME) UNTUK PONSEL BERBASIS JAVA MIDP 2.0

I.1. Latar Belakang. I.2. Tujuan. Gambaran Umum

Panduan Trainer Web Programming

Pemrograman Mobile Android # 2

PROSES INSTALASI WINDOWS 7 DI VIRTUAL BOX

CARA INSTALL ECLIPSE DI WINDOWS 7

MODUL MANAJEMEN JARINGAN KOMPUTER INSTALASI VIRTUAL MACHINE STUDI KASUS PADA VMWARE WORKSTATION 12

LAPORAN PRAKTEK SISTEM OPERASI JARINGAN KOMPUTER

BAB 4 IMPLEMENTASI DAN EVALUASI. Adalah kebutuhan yang dibutuhkan dalam memenuhi kebutuhan spesifikasi

CARA INSTALASI DAN MENJALANKAN PROGRAM

BAB 8 Argumen dari Command-line

Transkripsi:

Mengenal Java Heap Space dan Cara Mengatasinya Abdul Mukti Abdul.mukti45@ymail.com :: http://mukti666.wordpress.com Abstrak JAVA HEAP SPACE adalah masalah kekurangan memory pada program atau project yang saat kita buat dalam bahasa pemograman java. Hal ini kerap kali terjadi ketika dimana project yang kita buat telah memenuhi kapasitas ruang memory yang di miliki oleh Java Heap Space. Untuk seorang java programmer, pengetahuan akan Java Heap, menetapkan berapa ukuran java heap, berurusan dengan error heap space OutOfMemoryError, menganalisis heap dump itu sangat penting. Masalah ini bisa kita atasi dengan menambah kapasitas memory pada Java Heap Space. Didalam artikel ini akan di jelaskan lebih rinci lagi tentang cara mengatasi Java Heap Space. Kata Kunci : Pengenalan java heap space, ukuran heap space dan cara mengatasi heap space Pendahuluan Untuk kesempatan kali ini saya akan membahas masalah mengenai java heap space. Tentunya bagi kalian para programmer baik pemula atau yang sudah mahir tentu pernah mengalami masalah ini java.lang.outofmemoryerror. masalah ini terjadi karena adanya kelebihan kapasitas memory yang terjadi pada ruang java heap space. Untuk itu mari kita mengenal java heav space dan mengetahui bagaimana cara mengatasinya.

Pembahasan A. Apa itu java heap space??? Ketika sebuah program Java dimulai, Java Virtual Machine mendapatkan sejumlah memori dari Sistem Operasi. Java Virtual Machine atau disingkat JVM menggunakan memori ini untuk semua kebutuhan. Sebagian dari memori ini disebut memori java heap. Heap di dalam java umumnya terletak ruang alamat paling bawah dan kemudian menaik keatas. Setiap kali kita membuat objek menggunakan operator baru atau dengan yang lain, berarti sebuah object dialokasikan dari memori Heap dan Ketika object tersebut telah mati dan dikumpulkan oleh Garbage collector, maka sejumlah memori ini dikembalikan ke heap space. B. Ukuran java heap space Ukuran standar heap space di java umumnya adalah 128Mb pada sebagian besar JVM Sun 32 bit, namun bisa sangat bervariasi dari satu jenis JVM ke JVM lain. Misalnya maximum heap space dan initial heap untuk Sistem Operasi 32-bit Solaris (Platform SPARC Edition) adalah -Xms = 3670K dan -Xmx = 64M dan nilai-nilai default dari parameter heap space pada system 64-bit telah meningkat sekitar 30%. Juga jika anda menggunakan garbage collector pada java 1.5 ukuran maximum heap space JVM adalah Memori Fisik / 4 dan ukuran initial heap space adalah sama dengan ukuran Memori fisik /16. Cara lain untuk mendapatkan heap space default pada JVM adalah dengan menjalankan aplikasi menggunakan parameter heap default dan memonitor dengan menggunakan JConsole yang tersedia di JDK 1,5 ke atas, pada tab VMSummary kita akan dapat melihat ukuran maximum heap. Mulai Java 6 update 18 terdapat perubahan yang signifikan dalam bagaimana JVM menghitung ukuran standar tumpukan dalam mesin 32 dan 64 bit dan pada klien dan server modus JVM yakni :

1) Initial Heap Space dan maximum heap space berukuran menjadi lebih besar untuk meningkatkan kinerja. 2) maximum heap space secara default berukuran 1/2 dari memori fisik yang berukuran hingga 192 byte dan 1/4 dari memori fisik yang berukuran hingga 1GB. Jadi untuk mesin 1 GB, heap space maksimum adalah 256MB. Ukuran maximum heap space tidak akan digunakan hingga program java yang kita buat menciptakan objek yang cukup untuk mengisi initial heap space yang akan jauh lebih rendah setidaknya 8-MB atau 1/64 bagian dari ukuran memori fisik 1GB. 3) untuk Server JVM standar, maximum heap space adalah 1GB untuk memori fisik sebesar 4GB JVM 32-bit. Sedangkan untuk JVM 64 bit, adalah 32GB untuk memori fisik berukuran 128GB. C. Meningkatakan Heap Space Pada Eclipse Dengan cara Anda dapat meningkatkan ukuran java heap space berdasarkan kebutuhan aplikasi Anda dan saya selalu merekomendasikan hal ini untuk menghindari menggunakan nilai heap JVM default. jika aplikasi Anda besar dan banyak objek dibuat, Anda dapat mengubah ukuran ruang tumpukan dengan menggunakan JVM pilihan-xms dan-xmx. Xms menunjukkan ukuran mulai dari Heap sementara-xmx menunjukkan ukuran maksimum Heap di java. Ada lagi parameter yang disebut-xmn yang menunjukkan ukuran dari pembangkitan baru java heap space. Hanya hal yang Anda tidak dapat ubah adalah ukuran Heap di Java secara dinamis, Anda hanya dapat memberikan parameter ukuran Java Heap saat memulai JVM. 1) Mengubah File.ini di Eclipse: File.ini dapat ditemukan di folder yang sama dengan file eksekusi Eclipse. Kemudian kita akan melihat beberapa pilihan seperti ini.:

-showsplash org.eclipse.platform --launcher.xxmaxpermsiz 256m -vmargs -Xms40m -Xmx256m Tampilan tersebut diatas menunjukkanminimum heap space (-Xms40m) yang diatur ke 40MB dan maximum heap space (-Xmx256m) diatur pada nilai 256MB. Mengubah 256M menjadi nilai yang lebih besar, misalnya 512M akan meningkatkan pasokan heap space pada Eclipse. Ketika saya membuka file.ini tersebut, secara aktual saya menunjukkan maximum heap space yang lebih besar daripada apa yang ditunjukkan dalam program saya. Catatan: untuk memeriksa maximum heap space yang tersedia di Java kita bisa menggunakan baris kode tersebut dalam java: System.out.println(java.lang.Runtime.getRuntime().maxMemory()); Eclipse sebenarnya tidak membatasi heap space saya karena file.ini yang saya buka barusan menunjukkan nilai maksimal 512MB sementara program saya hanya melaporkan 128MB. Jika ini terjadi, maka kita bisa mencoba cara kedua. 2) Memasukkan argumen VM ke JRE kita: ketika Eclipse terbuka, buka Preferences (pada menu Window di Eclipse), kemudian pilih Section Java, klik Installed JREs, klik pada JRE yang digunakan (contoh jre6), klik pada button Edit, dan masukkan sintaks berikut ke dalam default VM Arguments: -Xms256M -Xmx512M

Format ini mirip dengan apa yang ada dalam file.ini dimana Xms adalah minimum heap space dan Xmx adalah maximum heap space. Masalahnya adalah bahwa JVM membatasi jumlah memori yang tersedia di heap sehingga argumen harus diteruskan ke VM untuk mengubahnya. Perintah-perintah ini dapat dilakukan melalui command line: eclipse [normal arguments] -vmargs -Xmx256M [more VM args] Selain dengan cara di atas kita pun bias menggunakan cara di bawah ini untuk mengatasi java heap space yang terjadi. Oke, pertama kita Pilih menu RUN -- SET PROJECT CONFIGURATION -- CUSTOMIZE. Gambar 1.1 Trus nongol deh PROPERTIES dari project yg saya bikin atau pun dari project kalian. Trus isikan -Xmx512m di kotak isian VM OPTION. Yang artinya memory maksimum yg dialokasikan untuk running program java adalah 512MB. Setelah itu udah deh... Akhirnya program saya berjalan dengan lancar dan heap space gak pernah nongol lagi deh. hehe Alhamdulillah yah!

Gambar 1.2 D. Mengatasi java.lang.outofmemoryerror: PermGen space Jika kalian menggunakan tomcat sebagai application servernya, pernahkan kalian mendapatkan error seperti ini : java.lang.outofmemoryerror: PermGen space Error tersebut muncul karena tomcat kekurangan memory untuk menjalankan prosesnya. Untuk mengatasinya kita bisa mengubah file konfigurasinya untuk menaikkan memorynya. Caranya pertama masuklah ke direktori tempat kalian menginstall tomcat. Lalu masuk ke dalam folder bin. Di komputer saya lokasinya ada di : C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.27\bin. Lalu lakukan langkah-langkah berikut ini : Cari file catalina.bat, lalu bukalah dengan notepad kalian. Cari tulisan ini : rem Guess CATALINA_HOME if not defined

Tepat di bawahnya, tambahkan script berikut : set CATALINA_OPTS = -Xms512M -Xmx512M -Xmn128M - XX:+UseParallelOldGC -Xss128K -XX:PermSize=512M Restart tomcat kalian Sekarang cobalah tomcat anda kembali dan lihat perkembangannya. Penutup Demikanlah artikel yang saya buat dalam kesempatan kali ini. Semoga artikel ini sangat bermanfaat bagi kalian semua yang sangat berminat belajar bahasa pemograman teruma bahasa java. Apabila dalam penyampaian artikel ini terdapat kata-kata yang kurang di mengerti oleh kalian. Cobalah searching kembali kata-kata itu di situs google agar bagi kalian para pemula dapat memahi arti kata tersebut. Karena ada pepatah mengatakan kalo tak kenal maka tak sayang. Begitulah bunyi dari pepatah itu. Yaudah sekain dulu dari saya. Sukses selalu buat kalian semuanya sampai bertemu di tulisantulisan artikel lainnya yah :D Referensi http://java.ruangtedy.net/?p=394 http://i-bakhtiar.blogspot.com/2011/10/java-heap-space.html https://maniakjava.wordpress.com/2013/12/19/cara-mengatasi-java-langoutofmemoryerror-permgen-space/#more-573 http://fridayanabaabullah.wordpress.com/2010/09/02/penjelasan-java-langoutofmemoryerror-permgen-space/ http://dwikasudrajat.blogspot.com/2011/06/java-heap-space.html

Biografi Abdul Mukti, lahir di Tangerang 7 Maret 1993. Menyelesaikan Sekolah Dasar dan Sekolah Menengah Pertama di SDN Bencongan 6 Tangerang dan SMP PGRI 400 Kota Tangerang. Menamatkan SMK di SMK Nusa Putra Kota Tangerang Jurusan Teknologi Jaringan dan Komputer (TKJ) pada tahun 2011. Sekarang sedang melanjutkan Pendidikan S1 di STMIK Raharja Kota Tangerang Jurusan Teknik Informatika Konsentrasi di Software Engineering. Saya senang dengan hal-hal yang bersangkutan dengan merakit komputer dan jaringan. Saat ini sedang memperdalam ilmu pemograman java dan android.