การแก้ไขการตั้งค่าหน่วยความจํา Java

คุณอาจต้องเปลี่ยนหน่วยความจำฮีป โดยขึ้นอยู่กับข้อกำหนดการรับส่งข้อมูลและการประมวลผล ขนาดหรือขนาดข้อมูลเมตาของคลาสสำหรับโหนดที่ใช้ Private Cloud แบบ Java คอมโพเนนต์

ส่วนนี้ระบุขนาดหน่วยความจำฮีป Java เริ่มต้นและที่แนะนำด้วย เป็นกระบวนการสำหรับการเปลี่ยนค่าเริ่มต้น สุดท้ายนี้ หัวข้อนี้จะอธิบายถึงวิธีเปลี่ยน การตั้งค่า JVM โดยใช้ไฟล์คุณสมบัติ

ขนาดหน่วยความจำฮีปเริ่มต้นและที่แนะนำ

ตารางต่อไปนี้แสดงขนาดหน่วยความจำฮีป Java เริ่มต้นและที่แนะนำสำหรับระบบ Java คอมโพเนนต์ Private Cloud

ส่วนประกอบ คุณสมบัติ ชื่อไฟล์ ค่าเริ่มต้น
ขนาดฮีป
แนะนำ
ขนาดฮีป
รันไทม์
Cassandra ไม่มี กำหนดค่าโดยอัตโนมัติ1 กำหนดค่าโดยอัตโนมัติ1
Message Processor message-processor.properties 512MB 3GB - 6GB2
เราเตอร์ router.properties 512MB 512MB
Analytics
เซิร์ฟเวอร์ Postgres postgres-server.properties 512MB 512MB
เซิร์ฟเวอร์ Qpid qpid-server.properties 512MB 2GB - 4GB
การจัดการ
เซิร์ฟเวอร์การจัดการ management-server.properties 512MB 512MB
UI ui.properties 512MB 512MB
OpenLDAP ไม่มี แอปที่มาพร้อมเครื่อง3 แอปที่มาพร้อมเครื่อง3
ผู้ดูแลสวนสัตว์ zookeeper.properties 2048MB 2048MB
หมายเหตุ

1 Cassandra จะคำนวณขนาดฮีปสูงสุดแบบไดนามิกเมื่อ ก็จะเป็นการเริ่มต้น ซึ่งขณะนี้อยู่ที่ครึ่งหนึ่งของหน่วยความจำระบบทั้งหมด โดยมีค่าสูงสุดคือ 8192 MB ดูข้อมูลเกี่ยวกับการตั้งค่าขนาดฮีปได้ที่เปลี่ยนฮีป ขนาดหน่วยความจำ

2 สำหรับ Message Processor Apigee จะแนะนำให้คุณตั้งค่าฮีป ขนาดตั้งแต่ 3 GB ถึง 6 GB เพิ่มขนาดฮีปเกิน 6 GB หลังจากดำเนินการแล้วเท่านั้น การทดสอบสมรรถนะระดับรัฐ

หากการใช้ฮีปใกล้ถึงขีดจำกัดสูงสุดระหว่างการทดสอบประสิทธิภาพ ให้เพิ่ม ขีดจำกัดสูงสุด สำหรับข้อมูลเกี่ยวกับการตั้งค่าขนาดฮีป โปรดดูที่ เปลี่ยนขนาดหน่วยความจำฮีป

3 คอมโพเนนต์ Private Cloud บางรายการอาจไม่ได้นำไปใช้ใน Java เพราะ ที่ไม่ใช่แบบ Java แอปที่เรียกใช้ในแพลตฟอร์มโฮสต์จะไม่มี ขนาดฮีป Java ที่กำหนดค่าได้ แต่ต้องอาศัยระบบโฮสต์สำหรับหน่วยความจำ การจัดการ

วิธีพิจารณาปริมาณหน่วยความจำรวมที่ Apigee แนะนำให้คุณจัดสรรให้กับแบบ Java คอมโพเนนต์ในโหนด ให้เพิ่มค่าที่ระบุไว้ข้างต้นสำหรับแต่ละคอมโพเนนต์ในโหนดนั้น ตัวอย่างเช่น หาก โหนดของคุณโฮสต์ทั้งเซิร์ฟเวอร์ Postgres และ Qpid ดังนั้น Apigee ขอแนะนำหน่วยความจำแบบรวม การจัดสรรจะต้องอยู่ระหว่าง 2.5 GB ถึง 4.5 GB

โปรดดูรายการฮาร์ดแวร์ที่จำเป็น (เช่น RAM) ที่ ข้อกำหนดในการติดตั้ง

เปลี่ยนขนาดหน่วยความจำฮีป

หากต้องการเปลี่ยนการตั้งค่าหน่วยความจำฮีป ให้แก้ไขไฟล์คุณสมบัติสำหรับคอมโพเนนต์ ตัวอย่างเช่น สำหรับ โปรแกรมประมวลผลข้อความ ให้แก้ไข /opt/apigee/customer/application/message-processor.properties ไฟล์

หากไฟล์ message-processor.properties ไม่มีอยู่ หรือหากไฟล์ .properties ที่เกี่ยวข้องสำหรับคอมโพเนนต์ Edge มี ไม่มีอยู่ ให้สร้างไฟล์และเปลี่ยนการเป็นเจ้าของไฟล์เป็น "Apigee" ดังต่อไปนี้ ตัวอย่างได้แก่

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

หากคอมโพเนนต์ถูกติดตั้งไว้ในเครื่องหลายเครื่อง เช่น โปรเซสเซอร์ข้อความ คุณสามารถ ต้องแก้ไขไฟล์คุณสมบัติในเครื่องทุกเครื่องที่โฮสต์คอมโพเนนต์นั้น

ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้ที่คุณแก้ไขเพื่อเปลี่ยนขนาดฮีป

พร็อพเพอร์ตี้ คำอธิบาย
bin_setenv_min_mem

ขนาดฮีปขั้นต่ำ ค่าเริ่มต้นจะอิงตามค่าที่ระบุไว้ใน ขนาดหน่วยความจำฮีปเริ่มต้นและที่แนะนำ

การตั้งค่านี้สอดคล้องกับตัวเลือก Java -Xms

bin_setenv_max_mem

ขนาดฮีปสูงสุด ค่าเริ่มต้นจะอิงตามค่าที่ระบุไว้ใน ขนาดหน่วยความจำฮีปเริ่มต้นและที่แนะนำ

การตั้งค่านี้สอดคล้องกับตัวเลือก Java -Xmx

bin_setenv_meta_space_size

ขนาดข้อมูลเมตาเริ่มต้นของชั้นเรียน ค่าเริ่มต้นจะตั้งไว้ที่ bin_setenv_max_permsize ซึ่งเริ่มต้นที่ 128 MB ในเครื่องมือประมวลผลข้อความ Apigee ขอแนะนำให้คุณตั้งค่านี้เป็น 256 MB หรือ 512 MB โดยขึ้นอยู่กับ การเข้าชม

การตั้งค่านี้สอดคล้องกับตัวเลือก Java -XX:MetaspaceSize

เมื่อคุณตั้งค่าพร็อพเพอร์ตี้ของขนาดฮีปในโหนด ให้ใช้ "m" ต่อท้ายเพื่อระบุเมกะไบต์ เป็น ตัวอย่างต่อไปนี้จะแสดง

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

หลังจากกำหนดค่าในไฟล์คุณสมบัติแล้ว ให้รีสตาร์ทคอมโพเนนต์ดังนี้

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

เช่น

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

เปลี่ยนพร็อพเพอร์ตี้ JVM อื่นๆ

สำหรับการตั้งค่า Java ที่ไม่ได้ควบคุมโดยคุณสมบัติที่แสดงด้านบน คุณยังสามารถตั้งค่า ดังต่อไปนี้ในไฟล์คุณสมบัติที่เกี่ยวข้องสำหรับคอมโพเนนต์ Edge

  • bin_setenv_ext_jvm_opts: ตั้งค่า Java ที่ไม่ได้ระบุโดยพร็อพเพอร์ตี้อื่น เช่น
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

    อย่างไรก็ตาม อย่าใช้ bin_setenv_ext_jvm_opts เพื่อ กำหนด -Xms, -Xmx หรือ -XX:MetaspaceSize เป็นค่าเหล่านี้ ควบคุมโดยพร็อพเพอร์ตี้ที่แสดงด้านบน

ดูเคล็ดลับเพิ่มเติมเกี่ยวกับการกำหนดค่าหน่วยความจำสำหรับคอมโพเนนต์ Private Cloud ได้ที่ นี่ บทความในฟอรัม Edge