it-swarm.asia

Mac OS X'te bir işlemin önceliğini belirlemenin bir yolu var mı?

Mac OS X'te% 100 CPU'da çalışan bir arka plan işlemim var. Diğer tüm uygulamalar bu nedenle çok yavaş.

Uygulamalarımın daha iyi çalışabilmesi için bu işlemi% 50'den fazla almayacak şekilde ayarlamak istiyorum. Bunu nasıl yapabilirim?

44
Daniel Cukier

Komut satırından (Terminal.app veya her neyse), diğer unix'lerdeki gibi, Nice ve renice kullanın.

Bir işlem başlatırken Nice kullanın:

Nice -n <priority> <command> <arguments to command>

Varsayılan öncelik sıfır, pozitif değerler "daha iyi" (düşük öncelikli) ve negatif değerler "daha az Nice" (yüksek öncelikli). Mac OS +10 ila -10 arasında çalışıyor gibi görünüyor.

Halen çalışmakta olan bir işlemin önceliğini değiştirmek için renice kullanın (10.5'deki renice man sayfasından):

renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]  
renice -n increment [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

Burada ilgilendiğiniz kısım pid bitidir. Bu iş için işlem kimliğidir ve onu ps -u <your username> kullanarak ve işlem adını ararken bulabilirsiniz, ancak bu durumda top -o öğesini tercih ederim, çünkü ilgilendiğiniz işlem en üste yakın olacaktır.

Not: Süper kullanıcı ayrıcalıkları olmadan bir sürecin önceliğini asla artıramazsınız. Normal kullanıcılar için Nice ve renice tek yönlü sokaklardır. Öncelikteki küçük değişikliklerin çalışma süresinde büyük etkileri olabilir. Bu yüzden anlayana kadar bu konuda kolay gidin.

45
dmckee

Komutu kullanabilirsiniz:

renice -n # PID

Nerede:

  • #, 0'dan büyük olması gereken bir sayıdır (aksi halde işleminizi daha yüksek önceliğe taşıyacaksınız)
  • PID terminal uygulamasında top yazarak görüntüleyebileceğiniz işlem kimliğidir (utilities/terminal.app)

Bir sistem işlemi veya başka bir kullanıcı işlemi ise, şunu yazmanız gerekir:

Sudo renice -n 10 PID

Parolanızı soracak (sudo iseniz). Sayı gelince 10 veya 19 öneriyoruz (daha düşük öncelikli).

Bunun CPU kullanımını değil önceliği değiştireceğini unutmayın. CPU gerektiren başka işlemler yapmıyorsanız veya Mac'inizde (Core 2 Quad Core) birden fazla CPU varsa, işlem yine de CPU'nun% 100'ünü kullanabilir.

14
pietro Sormanni

Ayrıca ücretsiz BeNicer ve İşlem Sihirbazı (önceki favorim) ve Dondurucu , bu benim yeni favorim. Bunların hepsi çalışan uygulamalar üzerinde çalışıyor.

4
beiju
renice 20 $(pgrep ImageOptim)

Veya ImageOptim yerine programın ismini kullanın.

3
William Entriken
  • İşleminiz bir sistem işlemi yerine bir uygulama veya uygulama yardımcı programıysa ve her sistem önyüklemesinde Nice veya renice yapmak istemiyorsanız, AppPolice Açık kaynak ve ücretsiz. İndirebilirsiniz burada .

  • Başka bir alternatif htop adında çok güzel bir komut satırı görev yöneticisi GUI olabilir. Tüm işlemleri görebilir ve Nice değerlerini F7 ve ve F8 kısayollarıyla ayarlayabilirsiniz. (Lütfen negatif Nice değerlerinin daha öncelikli ve pozitif değerler için zıt olduğuna dikkat edin)

Yüklemek için:

  • Henüz sahip değilseniz homebrew yükleyin.
  • Terminal'de bu komutu brew install htop çalıştırın
  • Artık tüm sistemi kapsayan Terminal veya Sudo htop içindeki işlemleri görmek ve yönetmek için htop işlevini yapabilirsiniz.
0
JacopKane