واحدة من المجالات الحرجة تحت مراقبة أداء لينكس يجب أن تكون استخدام وحدة المعالجة المركزية وحمل النظام. هناك العديد من أدوات مراقبة أداء لينكس لمراقبة كيفية تطور الأمور على النظام.
A number of these tools simply output the system state/statistics while a few others provide you means of managing system performance. One such tool called CPUTool.
CPUTool هو أداة سطر أوامر بسيطة ولكن قوية لتحديد والتحكم في استخدام وحدة المعالجة المركزية لأي عملية إلى حد معين وتسمح بتوقف تنفيذ العملية إذا تجاوزت حمل النظام الحد المحدد.
كيف يعمل CPUTool؟
لتحديد استخدام وحدة المعالجة المركزية، يرسل cputool إشارات SIGSTOP و SIGCONT إلى العمليات ويتم ذلك بناءً على حمل النظام. يعتمد على نظام الملفات الزائف /proc لقراءة PIDs وقياسات استخدام وحدة المعالجة المركزية الخاصة بهم.
يمكن استخدامه لتحديد استخدام وحدة المعالجة المركزية أو حمل النظام المتأثر بعملية واحدة أو مجموعة من العمليات إلى حد معين و/أو تعليق العمليات إذا تجاوز حمل النظام الحد المسموح به.
قراءة مقترحة: فهم متوسطات حمل لينكس ومراقبة أداء لينكس
قم بتثبيت أداة CPUTool لتقييد استخدام وحدة المعالجة المركزية ومتوسط الحمل
A CPUTool is only available to install on Debian/Ubuntu and its derivatives from the default system repositories using package management tool.
$ sudo apt install cputool
تقييد استخدام وحدة المعالجة المركزية لعملية معينة باستخدام CUPTool
الآن دعنا نلقي نظرة على كيفية عمل cputool حقًا. لنقم بتشغيل أمر dd الذي يجب أن يؤدي إلى نسبة عالية من استخدام وحدة المعالجة المركزية، في الخلفية وعرض معرف العملية الخاص به.
# dd if=/dev/zero of=/dev/null &
يمكننا استخدام أدوات top أو glances لمراقبة استخدام وحدة المعالجة المركزية والتي تتيح لنا عرض حالة محدثة بانتظام في الوقت الحقيقي لعمليات نظام Linux التي تعمل:
# top

من الناتج أعلاه، يمكننا رؤية أن أمر dd يمتلك أعلى نسبة من وقت وحدة المعالجة المركزية 99.7%)
الآن يمكننا تقييد هذا باستخدام cputool كما هو موضح أدناه.
تُستخدم العلمة --cpu-limit
أو -c
لتعيين نسبة استخدام لعملية أو مجموعة من العمليات و -p
لتحديد معرف العملية. سيقوم الأمر التالي بتقييد أمر dd (معرف العملية 8275) إلى 50% من استخدام نواة واحدة لوحدة المعالجة المركزية:
# cputool --cpu-limit 50 -p 8275
بعد تشغيل cputool، يمكننا التحقق من استخدام وحدة المعالجة المركزية الجديد للعملية (معرف العملية 8275) مرة أخرى. الآن يجب أن يتراوح استخدام وحدة المعالجة المركزية لعملية dd من (49.0%-52.0%).
# top

لتقييد استخدام وحدة المعالجة المركزية لـ dd إلى 20%، يمكننا تشغيل cputool للمرة الثانية:
# cputool --cpu-limit 20 -p 8275
ثم قم بالتحقق عن طريق استخدام أدوات مثل top أو glances مثل هذا (يجب أن تتراوح استخدام وحدة المعالجة المركزية لـ dd الآن بين 19.0%-22.0% أو قليلاً فوق ذلك):
# top

يرجى ملاحظة أن الشل لا يتوقع أي إدخال من المستخدم أثناء تشغيل أداة cputool؛ لذلك يصبح غير مستجيب. لإيقافه (سيؤدي هذا إلى إنهاء عملية تحديد استخدام وحدة المعالجة المركزية)، اضغط على Ctrl + C
.
من الأهمية بمكان، لتحديد مجموعة عمليات (برنامج واحد مع عدة حالات تعمل لكل منها معرف عملية فريد) على سبيل المثال خادم الويب HTTP:
# pidof apache2 9592 3643 3642 3641 3640 3638 3637 1780
استخدم العلم -P
مثل هذا:
# cputool --cpu-limit 20 -P 1780
تحديد حمل النظام باستخدام أداة CUPTool
يُستخدم الخيار -l
لتحديد الحمل الأقصى الذي يمكن أن يمر به النظام من أجل استمرار تشغيل العملية أو مجموعة العمليات. يمكننا استخدام قيمة كسرية (على سبيل المثال 2.5).
المثال أدناه يعني تشغيل rsync لنسخ احتياطي محلي فقط عندما لا يتجاوز حمل النظام 3.5:
# cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/
لمزيد من المعلومات والاستخدام، اطلع على صفحة دليل استخدام CPUTool:
# man cputool
تحقق من الأدلة المفيدة التالية للعثور على معلومات وأداء وحدة المعالجة المركزية.
- 9 الأوامر المفيدة للحصول على معلومات حول وحدة المعالجة المركزية على نظام Linux
- Cpustat – يراقب استخدام وحدة المعالجة المركزية من خلال العمليات الجارية في نظام Linux
- CoreFreq – أداة قوية لمراقبة وحدة المعالجة المركزية على أنظمة Linux
- العثور على أعلى العمليات الجارية حسب استخدام الذاكرة ووحدة المعالجة المركزية في نظام Linux
في الختام، فإن CPUTool حقاً يأتي بمساعدة كبيرة لإدارة أداء نظام Linux. لا تتردد في مشاركة أفكارك حول هذه المقالة من خلال النموذج أدناه.
Source:
https://www.tecmint.com/cputool-limit-linux-process-cpu-usage-load/