لدي عملية خلفية تعمل على وحدة المعالجة المركزية بنسبة 100 ٪ على نظام التشغيل Mac OS X. جميع التطبيقات الأخرى بطيئة جدا بسبب ذلك.
أرغب في تعيين هذه العملية بحيث لا تستغرق أكثر من 50٪ بحيث يمكن تشغيل تطبيقاتي بشكل أفضل. كيف يمكنني أن أفعل هذا؟
من سطر الأوامر (Terminal.app
أو أيًا كان) ، استخدم Nice
و renice
، تمامًا كما في Unixes الأخرى.
استخدم Nice
عند بدء العملية:
Nice -n <priority> <command> <arguments to command>
الأولوية الافتراضية هي صفر ، والقيم الموجبة هي "أجمل" (التي تكون أولوية أقل) والقيم السلبية "لطيفة أقل" (أولوية أعلى). يشبه Mac OS يعمل من +10 إلى -10.
استخدم renice
لتغيير أولوية العملية قيد التشغيل بالفعل (من صفحة الرجل renice
في 10.5):
renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
renice -n increment [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
الجزء الذي تهتم به هنا هو pid
bit. هذا هو معرف العملية للمهمة ويمكنك العثور عليها باستخدام ps -u <your username>
وابحث عن اسم العملية ، لكنني أفضل top -o
في هذه الحالة ، لأن العملية التي تهمك ستكون بالقرب من القمة.
ملاحظة: بدون امتيازات المستخدم الخارق ، لا يمكنك أبدًا زيادة أولوية العملية. بالنسبة للمستخدمين العاديين ، Nice
و renice
هي شوارع باتجاه واحد. يمكن أن يكون للتغييرات الصغيرة في الأولوية تأثيرات كبيرة على وقت التشغيل. لذا استمر في هذا الأمر حتى تفهمه.
يمكنك استخدام الأمر:
renice -n # PID
أين:
top
على التطبيق الطرفي (الأدوات المساعدة/terminal.app)إذا كانت عملية نظام أو عملية مستخدم أخرى ، يجب عليك كتابة:
Sudo renice -n 10 PID
سيطلب منك كلمة المرور الخاصة بك (إذا كنت sudoer). بالنسبة للرقم ، أود أن أوصي بـ 10 أو 19 (أولوية أقل).
لاحظ أن هذا سيغير الأولوية وليس استخدام وحدة المعالجة المركزية. إذا كنت لا تقوم بتشغيل عمليات أخرى تتطلب وحدة المعالجة المركزية أو لديك أكثر من وحدة المعالجة المركزية على جهاز Mac (Core 2 Quad Core) ، فقد تستمر العملية في استخدام 100٪ من وحدة المعالجة المركزية.
هناك أيضًا عدد من أدوات واجهة المستخدم الرسومية ، مثل BeNicer المجاني و معالج العملية (المفضل لدي السابق) ، وإصدار 1.99 دولار من الفريزر ، وهو المفضل لدي الجديد. كل هذه تعمل على تشغيل التطبيقات.
renice 20 $(pgrep ImageOptim)
أو استخدم اسم البرنامج الخاص بك بدلاً من ImageOptim
إذا كانت عمليتك عبارة عن أداة مساعدة للتطبيق أو التطبيق بدلاً من أن تكون عملية نظام ولا ترغب في القيام بـ Nice
أو renice
في كل عملية تمهيد للنظام ، يمكنك إعطائها لقطة لـ AppPolice . إنه مفتوح المصدر ومجاني. يمكنك تنزيله هنا .
بديل آخر سيكون مدير مهام سطر الأوامر Nice جداً يسمى htop
. يمكنك رؤية جميع العمليات وضبط قيمها Nice
بواسطة F7
و F8
اختصارات. (يرجى ملاحظة أن القيم السلبية Nice
أكثر أولوية وعكس القيم الإيجابية)
لتثبيته:
brew install htop
في المحطة الطرفيةhtop
لرؤية وإدارة العمليات في Terminal أو Sudo htop
لتغطية النظام بالكامل.