it-swarm.asia

هل هناك أي طريقة لتعيين عملية في Mac OS X؟

لدي عملية خلفية تعمل على وحدة المعالجة المركزية بنسبة 100 ٪ على نظام التشغيل Mac OS X. جميع التطبيقات الأخرى بطيئة جدا بسبب ذلك.

أرغب في تعيين هذه العملية بحيث لا تستغرق أكثر من 50٪ بحيث يمكن تشغيل تطبيقاتي بشكل أفضل. كيف يمكنني أن أفعل هذا؟

44
Daniel Cukier

من سطر الأوامر (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 هي شوارع باتجاه واحد. يمكن أن يكون للتغييرات الصغيرة في الأولوية تأثيرات كبيرة على وقت التشغيل. لذا استمر في هذا الأمر حتى تفهمه.

45
dmckee

يمكنك استخدام الأمر:

renice -n # PID

أين:

  • # هو رقم يجب أن يكون أكبر من 0 (وإلا ستنقل العملية إلى أولوية أعلى)
  • PID هو معرف العملية الذي يمكنك عرضه عن طريق كتابة top على التطبيق الطرفي (الأدوات المساعدة/terminal.app)

إذا كانت عملية نظام أو عملية مستخدم أخرى ، يجب عليك كتابة:

Sudo renice -n 10 PID

سيطلب منك كلمة المرور الخاصة بك (إذا كنت sudoer). بالنسبة للرقم ، أود أن أوصي بـ 10 أو 19 (أولوية أقل).

لاحظ أن هذا سيغير الأولوية وليس استخدام وحدة المعالجة المركزية. إذا كنت لا تقوم بتشغيل عمليات أخرى تتطلب وحدة المعالجة المركزية أو لديك أكثر من وحدة المعالجة المركزية على جهاز Mac (Core 2 Quad Core) ، فقد تستمر العملية في استخدام 100٪ من وحدة المعالجة المركزية.

14
pietro Sormanni

هناك أيضًا عدد من أدوات واجهة المستخدم الرسومية ، مثل BeNicer المجاني و معالج العملية (المفضل لدي السابق) ، وإصدار 1.99 دولار من الفريزر ، وهو المفضل لدي الجديد. كل هذه تعمل على تشغيل التطبيقات.

4
beiju
renice 20 $(pgrep ImageOptim)

أو استخدم اسم البرنامج الخاص بك بدلاً من ImageOptim

3
William Entriken
  • إذا كانت عمليتك عبارة عن أداة مساعدة للتطبيق أو التطبيق بدلاً من أن تكون عملية نظام ولا ترغب في القيام بـ Nice أو renice في كل عملية تمهيد للنظام ، يمكنك إعطائها لقطة لـ AppPolice . إنه مفتوح المصدر ومجاني. يمكنك تنزيله هنا .

  • بديل آخر سيكون مدير مهام سطر الأوامر Nice جداً يسمى htop. يمكنك رؤية جميع العمليات وضبط قيمها Nice بواسطة F7 و F8 اختصارات. (يرجى ملاحظة أن القيم السلبية Nice أكثر أولوية وعكس القيم الإيجابية)

لتثبيته:

  • تثبيت البيرة إذا لم يكن لديك حتى الآن.
  • قم بتشغيل هذا الأمر brew install htop في المحطة الطرفية
  • يمكنك الآن القيام بـ htop لرؤية وإدارة العمليات في Terminal أو Sudo htop لتغطية النظام بالكامل.
0
JacopKane