Mengubah setelan memori Java

Bergantung pada traffic dan persyaratan pemrosesan, Anda mungkin perlu mengubah ukuran memori heap atau ukuran metadata class untuk node yang menjalankan komponen Private Cloud berbasis Java.

Bagian ini menjelaskan ukuran memori heap Java default dan yang direkomendasikan, serta proses untuk mengubah setelan default. Terakhir, bagian ini menjelaskan cara mengubah setelan JVM lainnya menggunakan file properti.

Ukuran memori heap default dan yang direkomendasikan

Tabel berikut mencantumkan ukuran memori heap Java default dan yang direkomendasikan untuk komponen Private Cloud berbasis Java:

Komponen Nama File Properti Default
Ukuran Heap
Direkomendasikan
Ukuran Heap
Runtime
Cassandra t/a Dikonfigurasi otomatis1 Dikonfigurasi otomatis1
Message Processor message-processor.properties 512 MB 3GB - 6GB2
Router router.properties 512 MB 512 MB
Analytics
Server Postgres postgres-server.properties 512 MB 512 MB
Server Qpid qpid-server.properties 512 MB 2GB - 4GB
Pengelolaan
Server Pengelolaan management-server.properties 512 MB 512 MB
UI ui.properties 512 MB 512 MB
OpenLDAP t/a Aplikasi Native3 Aplikasi Native3
Penjaga kebun binatang zookeeper.properties 2048 MB 2048 MB
Catatan

1 Cassandra secara dinamis menghitung ukuran heap maksimum saat dimulai. Saat ini, ini adalah setengah dari total memori sistem, dengan maksimum 8192 MB. Untuk mengetahui informasi tentang setelan ukuran heap, lihat Mengubah ukuran memori heap.

2 Untuk Prosesor Pesan, Apigee menyarankan agar Anda menyetel ukuran heap antara 3 GB dan 6 GB. Tingkatkan ukuran heap di atas 6 GB hanya setelah melakukan pengujian performa.

Jika penggunaan heap mendekati batas maksimum selama pengujian performa, tingkatkan batas maksimumnya. Untuk mengetahui informasi tentang setelan ukuran heap, lihat Mengubah ukuran memori heap.

3 Tidak semua komponen Private Cloud diterapkan di Java. Karena tidak berbasis Java, aplikasi yang berjalan secara native pada platform host tidak memiliki ukuran heap Java yang dapat dikonfigurasi; sebagai gantinya, aplikasi tersebut mengandalkan sistem host untuk pengelolaan memori.

Untuk menentukan berapa banyak total memori yang direkomendasikan Apigee yang Anda alokasikan ke komponen berbasis Java pada sebuah node, tambahkan nilai yang tercantum di atas untuk setiap komponen pada node tersebut. Misalnya, jika node Anda menghosting server Postgres dan Qpid, Apigee merekomendasikan agar alokasi memori gabungan Anda antara 2,5 GB dan 4,5 GB.

Untuk daftar hardware yang diperlukan (seperti RAM), lihat Persyaratan penginstalan.

Mengubah ukuran memori heap

Untuk mengubah setelan memori heap, edit file properti komponen. Misalnya, untuk Pemroses Pesan, edit file /opt/apigee/customer/application/message-processor.properties.

Jika file message-processor.properties tidak ada, atau jika file .properties yang sesuai untuk komponen Edge mana pun tidak ada, buat file tersebut, lalu ubah kepemilikan file tersebut kepada pengguna "apigee", seperti yang ditunjukkan dalam contoh berikut:

chown apigee:apigee /opt/apigee/customer/application/message-processor.properties

Jika komponen diinstal di beberapa komputer, seperti Message Processor, Anda harus mengedit file properti di semua komputer yang menghosting komponen tersebut.

Tabel berikut mencantumkan properti yang Anda edit untuk mengubah ukuran heap:

Properti Deskripsi
bin_setenv_min_mem

Ukuran heap minimum. Defaultnya didasarkan pada nilai yang tercantum dalam Ukuran memori heap default dan yang direkomendasikan.

Setelan ini sesuai dengan opsi -Xms Java.

bin_setenv_max_mem

Ukuran heap maksimum. Defaultnya didasarkan pada nilai yang tercantum dalam Ukuran memori heap default dan yang direkomendasikan.

Setelan ini sesuai dengan opsi -Xmx Java.

bin_setenv_meta_space_size

Ukuran metadata class default. Nilai defaultnya ditetapkan ke nilai bin_setenv_max_permsize, yang secara default ditetapkan ke 128 MB. Pada Message Processor, Apigee merekomendasikan agar Anda menetapkan nilai ini ke 256 MB atau 512 MB, bergantung pada traffic Anda.

Setelan ini sesuai dengan opsi -XX:MetaspaceSize Java.

Saat Anda menetapkan properti ukuran heap pada node, gunakan akhiran "m" untuk menunjukkan megabyte, seperti yang ditampilkan dalam contoh berikut:

bin_setenv_min_mem=4500m
bin_setenv_max_mem=4500m
bin_setenv_meta_space_size=1024m

Setelah menetapkan nilai dalam file properti, mulai ulang komponen:

/opt/apigee/apigee-service/bin/apigee-service component restart

Contoh:

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Mengubah properti JVM lainnya

Untuk setelan Java yang tidak dikontrol oleh properti yang tercantum di atas, Anda juga dapat meneruskan flag atau nilai JVM tambahan untuk komponen Edge apa pun. File *.properties akan dibaca oleh Bash dan harus diapit oleh '(tanda kutip tunggal) untuk mempertahankan karakter literal atau "(tanda kutip ganda) jika Anda memerlukan ekspansi shell.

  • bin_setenv_ext_jvm_opts: Menetapkan properti Java yang tidak ditentukan oleh properti lain. Contoh:
    bin_setenv_ext_jvm_opts='-XX:MaxGCPauseMillis=500'

    Namun, jangan gunakan bin_setenv_ext_jvm_opts untuk menetapkan -Xms, -Xmx, atau -XX:MetaspaceSize karena nilai ini dikontrol oleh properti yang tercantum di atas.

Untuk tips tambahan tentang cara mengonfigurasi memori untuk komponen Private Cloud, lihat artikel ini di forum Edge.