Yanıtlar:
Neden komutu psile kolayca yapabiliyorken kullanıyorsunuz top?
Kullanmanız gerekiyorsa ps, şunu deneyin:
ps aux | sort -nrk 3,3 | head -n 5
Sürekli güncellemeler ile gerçekten 'top'esq' olan bir şey istiyorsanız, saati kullanın
watch "ps aux | sort -nrk 3,3 | head -n 5"
ps aux | sort -nrk 3,3 | head -n 5
topçalıştığından nasıl farklı olduğunu merak ediyorum .
topişlem listesini okur ve sonucu herhangi bir başka işleme koymadan kendi başına gösterir
Doğru cevap :
ps --sort=-pcpu | head -n 6
Böylece, sıralama işlemine 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, pstanımıyor --sort, ancak -rmevcut CPU kullanımına göre sıralamayı sunuyor . Böylece, Mac OS X için şunları kullanabilirsiniz:
ps -Ao user,uid,comm,pid,pcpu,tty -r | head -n 6
bash(x2 veya headaynı zamanda) ps...
sort, ikincisi ise sıralamayı engellemeden sütunların nasıl belirtileceğini gösterir. Bir şeyi açıklarken .. her zaman bir şeyi özlemek ve açıklamak her zaman daha iyidir.
Gereksinimlerinize 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)
Bence psaradığın şey bu değil . Çıktısına baktınız mı top?
Eğer GNU-Top'unuz varsa, cpu kullanımına göre sıralanmış bir işlem listesi hazırlamak için seri modunu kullanmayı ve ilk 5 satırı almak için head / tail komutunu kullanmayı deneyin (ilk 8 başlıklardır):
top -b -n 1 | head -n 12 | tail -n 5
BSD'nin üst kısmı farklı görünüyor ve etkileşimli olmayan bir moda sahip değil, bu nedenle diğer pstemel çözümlerden birini kullanın .
top -o cpu -n 5aynı şeyi başarmanın bir yoludur. Kimse biliyor mu? Benim topadresinden Müşteri farklıdır top.
-ove -nçıkmadan önce ekranı yenileme sayısını ayarlar.
topgrubum oldukça kısıtlayıcı olan bir parti moduna sahip görünmüyor. topDiğer komutlara bir çeşit bağlantı yapılmalı . Biraz araştırma yapacağım.
topbu öğleden sonra tarif edildiği gibi çalıştı. Şerefe.
Bunun için bulduğum en hızlı tek astar (not eklediği için not 6'ya bakınız):
ps aux k-pcpu | head -6
Mevcut ps sürümlerinin alan kodlarına göre (ps kılavuz sayfasında verilen) sıralama yeteneklerine sahip olduğunu unutmayın. İşlemci kullanımı için alan kodu "c" dir. --sort cBir ps komutunun sonunda kullanabilirsiniz .ps aux --sort c
Bu, listenin en altındaki en cpu kullanarak işlemi koyacaktır. Örneğin sıralamak için kullanılan alan koduna bir eksi ekleyerek listenin tersi sırasını değiştirirps aux --sort -c
Diğer değerli cevaplara bir nokta eklemek için, şunu tercih ederim:
ps auxk-c | head -6
Aynı zamanda güzel olan başlığı yazdırır.
Burada kaynıdır --sortve cCPU kullanımı (diğer adı belirtir %cpuise sıralama için) alanı -ters tür içindir.
Sen ayırarak daha belirteçleri eklemek olabilir ,, diğer olası belirteçleri şunlardır: %mem, args, bsdstart, pid, gid, uid... sen tam listesini bulabilirsiniz STANDART biçim belirteçleri adam sayfasının bölümüne. Ö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.
Komut satırı aracının pskendi sıralama seçeneği vardır, bu yüzden tercih ederim:
$ ps -eo pcpu,args --sort=-%cpu | head
İstediğiniz sütunları ekleyebilirsiniz. psMan sayfası üzerinden başka hangi seçeneklerin mevcut olduğunu görün .
$ man ps
topMac OS X'te top -l numberOfSamples(GNU toplu iş moduna eşdeğer gibi) şeklinde bir günlük modu seçeneği vardır top. Bununla birlikte, en az iki örneğe sahip olmak gereklidir, çünkü "görüntülenen ilk örnek, her işlem için görüntülenen geçersiz bir% CPU'ya sahip olacaktır, çü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
En iyi 5 işlemci alım sürecini görmenin en basit yolunun ,
ps -eo pid,comm,%cpu,%mem --sort=-%cpu | head -n 5
İlk 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 formatlamak için kullanılır.
pid : Pid'i göstermek için kullanılan bu argüman
comm: Bu argüman sadece komut ismini göstermek için kullanılır. Tam komut kullanımını elde etmek için args, cmdya dacommand
%cpu: Bu argüman "##. #" Formatında işlemin cpu kullanım yüzdesini gösterir. Burada pcpuda kullanılabilir.
%mem: Bu argüman, işlemin yerleşik set büyüklüğünün makinedeki fiziksel belleğe oranını yüzde olarak ifade eder. Burada pmemda kullanılabilir.
--sort: Sıralama düzenini belirtin. Sonra varsayılan seçeneği nerede işareti üstündeki en yüksek değeri sıralamak için kullanılır [n yani 0] artan sayısal düzeni listelemektir.=-+
top -bn1 |sed -n '7,12'pçok güzel bir küçük astar olarak çalışır.
Her ne kadar ps'i --sort = X -o X, Y, Z ile kullanmayı tercih etsem de
ps kullanarak bir işlem VEYA kullanıcısı için farklı istatistikler elde edebilir ve daha sonra toplam VEYA bir boruyla awk için avg yapabilirsiniz.