it-swarm-tr.com

`Ps` ile CPU tüketen ilk beş işlemi göster

PS ile en iyi beş CPU tüketen süreç nasıl gösterilir?

115
PlanasB

ps komutuyla kolayca yapabildiğinizde neden top kullanıyorsunuz?

ps kullanmanız gerekiyorsa şunu deneyin:

ps aux | sort -nrk 3,3 | head -n 5

Sürekli güncellemelerle gerçekten 'top'esq olan bir şey istiyorsanız, saati kullanın

watch "ps aux | sort -nrk 3,3 | head -n 5"
112
Boban P.

Doğru cevap:

ps --sort=-pcpu | head -n 6

Böylece, sıralamaya müdahale etmeden sütunları belirleyebilirsiniz.

Ör:

ps -Ao user,uid,comm,pid,pcpu,tty --sort=-pcpu | head -n 6

MAC OS X için not: Mac OS X'te ps tanımıyor --sort, ancak -r geçerli CPU kullanımına göre sıralamak için. Böylece, Mac OS X için şunları kullanabilirsiniz:

ps -Ao user,uid,comm,pid,pcpu,tty -r | head -n 6
94
Facundo Victor

İhtiyaçlarınıza bağlı olarak bunu biraz daha okunabilir bulabilirsiniz:

ps -eo pcpu,pid,user,args --no-headers| sort -t. -nk1,2 -k4,4 -r |head -n 5

örnek çıktı:

 1.3     4 root     [ksoftirqd/0]
 1.1     9 root     [ksoftirqd/1]
 1.0 17606 nobody   /usr/sbin/gmetad
 1.0    13 root     [ksoftirqd/2]
 0.3 17401 nobody   /usr/sbin/gmond

(alanlar% CPU, PID, USER, COMMAND)

28

Aradığın ps olduğunu sanmıyorum. top çıktısına baktınız mı?

GNU-Top'unuz varsa, cpu kullanımına göre sıralanmış bir işlem listesi vermek için toplu modunu kullanmayı ve ilk 5 satırı almak için head/tail'i kullanmayı deneyin (ilk 8 başlık):

top -b -n 1 | head -n 12  | tail -n 5

BSD üstü farklı davranıyor gibi görünüyor ve etkileşimli olmayan bir modu yok, bu yüzden diğer ps tabanlı çözümlerden birini kullanın.

24
Caleb

Bunun için bulduğum en hızlı bir astar (not 6, çünkü başlık eklenir):

ps aux k-pcpu | head -6
6
Nestor Urquiza

Ps'in güncel sürümlerinin, alan kodlarına (ps man sayfasında verilen) göre, içinde sıralama yeteneğine sahip olduğunu unutmayın. İşlemci kullanımı için alan kodu "c" dir. Kullanabilirsiniz --sort c ps komutunun sonunda ör. ps aux --sort c

Bu işlem, listenin en altındaki en fazla CPU'yu kullanarak işlemi koyacaktır. Sıralama için kullanılan alan koduna eksi ekleyerek listenin sırasını ters çevirin; ps aux --sort -c

5
Cian D

Diğer değerli cevaplara bir puan eklemek için:

ps auxk-c | head -6

Ayrıca güzel olan üstbilgiyi yazdırır.

Burada k, --sort İle aynıdır ve c sıralama için CPU kullanımı (takma ad %cpu) Alanını belirtirken, - Ters sıralama içindir .

, İle ayrılmış daha fazla spesifikasyon ekleyebilirsiniz, diğer olası spesifikasyonlar şunlardır: %mem, args, bsdstart, pid, gid, uid ... listenin tamamını bulabilirsiniz STANDART FORMAT SPECIFIERS man sayfasının bölümü. Örneğin:

 ps auxk -gid,-%mem | head -11

dahili olarak bellek kullanımına göre sıralanmış en yüksek grup kimliğine sahip 10 işlem yazdırır.

4
2i3r

Komut satırı aracı ps kendi sıralama seçeneğine sahiptir, bu yüzden tercih ederim:

$ ps -eo pcpu,args --sort=-%cpu | head

İstediğiniz sütunları ekleyebilirsiniz. ps man sayfasından başka hangi seçeneklerin mevcut olduğunu görün.

$ man ps

Ben inanıyorum en basit yolu ilk 5 cpu tüketme süreci olduğunu,

ps -eo pid,comm,%cpu,%mem --sort=-%cpu | head -n 5

ilk 5 bellek tüketen işlemi görmek,

ps -eo pid,comm,%cpu,%mem --sort=-%mem | head -n 5

Nerede,

-e: Bu bayrak tüm işlemleri seçmek için kullanılır

-o: Bu bayrak kullanıcı tanımlı olarak biçimlendirmek için kullanılır.

pid: Pid göstermek için kullanılan bu argüman

comm: Bu bağımsız değişken yalnızca komut adını göstermek için kullanılır. Tam komutu almak için args, cmd veya command kullanın

%cpu: Bu bağımsız değişken, işlemin "##. #" Biçimindeki işlemci kullanım yüzdesini gösterir. Burada pcpu da kullanılabilir.

%mem: Bu bağımsız değişken, işlemin yerleşik ayar boyutunun, yüzde olarak ifade edilen, makinedeki fiziksel belleğe oranını gösterir. Burada pmem da kullanılabilir.

--sort: Sıralama düzenini belirtin. Sonra = _ - işareti, en üstteki değeri, varsayılan seçenek olan + artan sayısal sırayı listelemektir [yani 0 ila n].

0
muhammad

Mac OS X'te top, top -l numberOfSamples Şeklinde bir günlük kaydı modu seçeneğine sahiptir (GNU top) Ancak, en az iki örneğe sahip olmanız gerekir, çünkü "görüntülenen ilk örnek her bir işlem için geçersiz bir% CPU görüntülenecektir, çünkü örnekler arasındaki delta kullanılarak hesaplanır" (man 1 top).

# examples
top -o cpu -l 2 -n 5 | tail -n 6
top -o cpu -l 2 -n 5 -stats pid,command,cpu | tail -n 6
top -o cpu -l 2 -n 5 -stats pid,command,cpu -U $(logname) | tail -n 6
0
ulf

top CPU'nuzu kullananı görüntüler. Yüklüyse, htop CPU (sizin durumunuzda) CPU'ya göre filtreleme de dahil olmak üzere daha hassas kontrol sağlar.

0
PSN