تعديل إعدادات ذاكرة Java

استنادًا إلى متطلبات عدد الزيارات والمعالجة، قد تحتاج إلى تغيير حجم الذاكرة المؤقتة أو حجم البيانات الوصفية للفئة للعُقد التي تشغّل مكوّنات Private Cloud المستندة إلى Java.

يوفّر هذا القسم أحجام الذاكرة التلقائية والمقترَحة لأجزاء من الذاكرة في Java، بالإضافة إلى عملية تغيير الإعدادات التلقائية. أخيرًا، يوضّح هذا القسم كيفية تغيير إعدادات JVM الأخرى باستخدام ملفات الخصائص.

أحجام ذاكرة الذاكرة الديناميكية التلقائية والمقترَحة

يسرد الجدول التالي أحجام ذاكرة كومة Java التلقائية والموصى بها لمكونات السحابة الخاصة المستندة إلى Java:

المكوّن اسم ملف الخصائص Default
Heap Size
الإعدادات المقترَحة
حجم الذاكرة المؤقتة
وقت التشغيل
Cassandra timing fixed in amara يتم ضبطها تلقائيًا1 يتم ضبطها تلقائيًا1
معالج الرسائل message-processor.properties ‫512 ميغابايت ‫3 غيغابايت - 6 غيغابايت2
جهاز التوجيه router.properties ‫512 ميغابايت ‫512 ميغابايت
"إحصاءات"
خادم Postgres postgres-server.properties ‫512 ميغابايت ‫512 ميغابايت
خادم Qpid qpid-server.properties ‫512 ميغابايت ‫2 غيغابايت - 4 غيغابايت
الإدارة
خادم الإدارة management-server.properties ‫512 ميغابايت ‫512 ميغابايت
واجهة المستخدِم ui.properties ‫512 ميغابايت ‫512 ميغابايت
OpenLDAP timing fixed in amara التطبيق الأصلي3 تطبيق أصلي3
حارس حديقة حيوانات zookeeper.properties ‫2048 ميغابايت ‫2048 ميغابايت
ملاحظات

1 يحتسب Cassandra الحد الأقصى لحجم الذاكرة الديناميكية عند بدء تشغيله. في الوقت الحالي، يمثّل هذا نصف إجمالي ذاكرة النظام، بحد أقصى 8192 ميغابايت. للحصول على معلومات عن ضبط حجم الذاكرة المؤقتة، يُرجى الاطّلاع على تغيير حجم الذاكرة المؤقتة.

2 بالنسبة إلى معالِجات الرسائل، تنصح Apigee بضبط حجم الذاكرة الديناميكية على قيمة تتراوح بين 3 غيغابايت و6 غيغابايت. لا تزد حجم الذاكرة المؤقتة عن 6 غيغابايت إلا بعد إجراء اختبارات الأداء.

إذا اقترب استخدام الذاكرة من الحد الأقصى أثناء اختبار الأداء، يمكنك زيادة الحد الأقصى. للحصول على معلومات حول ضبط حجم الذاكرة الديناميكية، يُرجى الاطّلاع على تغيير حجم الذاكرة الديناميكية.

‫3 لا يتم تنفيذ جميع مكوّنات Private Cloud في Java. وبما أنّها لا تستند إلى Java، فإنّ التطبيقات التي تعمل بشكل أساسي على المنصة المضيفة لا تتضمّن أحجامًا قابلة للضبط لذاكرة Java المؤقتة، بل تعتمد على النظام المضيف لإدارة الذاكرة.

لتحديد إجمالي حجم الذاكرة التي تنصح Apigee بتخصيصها لمكوّناتك المستندة إلى Java على عقدة معيّنة، أضِف القيم المذكورة أعلاه لكل مكوّن على تلك العقدة. على سبيل المثال، إذا كانت العقدة تستضيف خادمَي Postgres وQpid، تنصح Apigee بأن يكون تخصيص الذاكرة المجمّعة بين 2.5 غيغابايت و4.5 غيغابايت.

للاطّلاع على قائمة بالأجهزة المطلوبة (مثل ذاكرة الوصول العشوائي)، يُرجى مراجعة متطلبات التثبيت.

تغيير أحجام الذاكرة الديناميكية

لتغيير إعدادات ذاكرة الذاكرة، عدِّل ملف الخصائص للمكوّن. على سبيل المثال، بالنسبة إلى معالج الرسائل، عدِّل ملف /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 ميغابايت. في "معالج الرسائل"، تنصح Apigee بضبط هذه القيمة على 256 ميغابايت أو 512 ميغابايت، حسب عدد الزيارات.

يتوافق هذا الإعداد مع خيار 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.