Hangi İşlemin Yüksek CPU kullanımına neden olduğunu bulma


30

Hangi işlemin yüksek CPU Kullanımına neden olduğunu terminalden öğrenmenin bir yolu var mı?

İşlemleri azalan cpu kullanım sırasına göre düzenlemek de faydalı olacaktır.

Yanıtlar:


23

topCPU'nuzun ne kullandığını gösterecektir. Eğer kurduysanız, htopişlemciye göre filtreleme de dahil olmak üzere daha hassas kontrol elde etmenizi sağlar.


4
Üst genellikle yararlıdan daha azdır. Birincisi, süreçler genellikle dalgalanma gösterdiğinden, işlemciyi tamamen işgal eden işlemin zaman zaman% 0'a kadar titrediğini görmek alışılmadık bir durum değildir ve çok sayıda yoğun işleminiz varsa, sırayla% 100 kullanırken% 100 kullanmaya devam eder. , okumayı zorlaştırıyor. Ayrıca, bazen rakamlar sadece gariptir - örneğin şu an üstüm tüm bireysel işlemlerin% 0 cpu kullandığını, ancak toplamın% 52 olduğunu bildiriyor - hangisi bunu yapıyor?
Benubird


4

Ek olarak psve topkomutlar, ayrıca çalışabilir vmstatsistemde, yani CPU, bellek kullanımı açısından neler olduğunu anlamaya:

vmstat 1 100

Yukarıdakilerle, çeşitli istatistiklerden saniyede 100 örnek alırsınız. Zaman rya da bbir sütun numarası vardır (daha yüksek = kaynakları kullanılır) engelleyen bir komut dosyası vardır. rCPU, bgenellikle disk veya ağ gibi IO engelliyor.

Örnek çıktı:

$ vmstat 1 100
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 288700  17592 1920048    0    0  4482  3297   47  155  8  2 78 12  0
 0  0      0 268420  17904 1920584    0    0   788    36 4095 4759 11  3 85  1  0
 0  0      0 269916  17940 1920868    0    0   108   560 6969 7280 11  2 86  1  1
 3  0      0 267684  18196 1921304    0    0   256     0 5934 6094  9  2 90  0  0
 0  0      0 257800  18196 1921528    0    0     0     0 5412 5508 10  1 89  0  1
 1  0      0 257368  18196 1922028    0    0     0     0 5852 6046  9  1 89  0  1
 0  0      0 256872  18200 1922236    0    0     0     0 5345 5566  9  1 90  0  0
 0  0      0 256688  18208 1922292    0    0     0  1788 5388 5602  7  2 90  1  1
 0  0      0 256520  18208 1922684    0    0     0     0 5387 5557  8  1 91  0  0
 1  0      0 255788  18208 1923024    0    0     0     0 4992 5363 10  1 89  0  1
 1  0      0 255392  18208 1923456    0    0     0     0 5027 5145 13  1 86  0  0
 0  0      0 254980  18208 1923792    0    0     0     0 5042 5082 21  1 77  0  1
 0  0      0 254452  18216 1924092    0    0     0  1848 5481 5695  7  1 91  1  1
 0  0      0 254416  18216 1924268    0    0     0     0 4947 5250  7  1 92  0  0
 1  0      0 253732  18216 1924616    0    0     0     0 5180 5383  8  2 90  0  1
 0  0      0 253584  18216 1924912    0    0    12     0 4464 4623  8  1 91  0  0
 0  0      0 243496  18216 1925224    0    0     0     0 5507 5700  9  1 90  0  1
 0  0      0 243008  18224 1925504    0    0     0  1356 5070 5345  8  1 90  0  1
 1  0      0 243220  18228 1925676    0    0     0     0 6241 6533 11  2 87  0  0

2

Muhtemelen kullanabilirsiniz ps xo pid,cmd --sort=%cmd | tail -1, ancak topgerçek zamanlı olarak gösterecektir.


2

" htop ", yukarıdakine benzer, ancak CPU'larınızın "renkli metin tabanlı grafiksel" bir ekranına sahiptir ve aynı zamanda işlemlere yönelik bir ağaç yapısı görüntüler, böylece bir sürecin bir çocuğu ve kaç tane olduğunu bilirsiniz.

Aynı zamanda laptop batarya gücünü ve şarj olup olmadığını gösterir - Bunu daha önce bilmiyordum!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.