Hangi işlemin% 100'e kadar eklemediğinde CPU'umu çalıştırdığını nasıl anlarım?


9

Ubuntu'nun Sistem Monitörü uygulaması sürekli olarak% 100 CPU kullanımını gösterir. Tıklarsam, kaynaklar sekmesi de sürekli% 100 olarak gösterir. Ancak süreçlere gidersem, hangi sürecin suçlu olduğunu bulmak için% 10'un üzerinde bir şey yoktur. En tepeye koşarsam% 10'un üzerinde bir şey olmaz. Bireysel işlemler% 100'e kadar eklemez. Çok fazla işlemi öldürmeye çalışıyorum, ancak genel kullanım% 100 olmaya devam ediyor. CPU'yu neyin tıkladığını nasıl öğrenebilirim?

alternatif metin

Bu, günlük olarak kullandığım bir bilgisayarda olağandışı bir durumdur, bunu gerektiren bir şey yapmadıkça (32 Firefox sekmesi yüklemek gibi) hiçbir zaman% 100 CPU'ya yakın değildir, daha sonra normal bir bekleme seviyesine geri döner. Yeni bir kurulum ya da başka bir şey değil. İşlemcinin maksimize edilmesi için hiçbir neden yoktur. Ne zaman başladığından ya da olmasına neden olan bir şeyi değiştirip değiştirmediğimden emin değilim.

Normalde üst veya Sistem Monitörü'nü kullanır ve kontrolden çıkmış olan süreci bulurdum, ancak bu sefer bu araçlarla hiçbir şey bulamıyorum. Yeniden başlatmalardan ve her şeyden sonra da devam eder.

Ve işlemci açıkça sıcak, bu yüzden hatalı bir okuma değil.

Güncelleme: Sorun ortadan kalkana kadar her bir işlemi birer birer öldürmeyi denedim ve vino-server'ı öldürmek sonunda bu işlem asla% 5'in üzerine çıkmasa bile düzeltti. Birkaç gün önce Uzak Masaüstü'nü etkinleştirdim (ve şimdi devre dışı bıraktım).

Ancak soru şu: Tek bir işlem% 100 CPU kullanmayı nasıl başardı, üstte ise bu işlem sadece% 5 olarak gösterildi? Gelecekte böyle suçluları nasıl tespit edebilirim?

Bu sorunu yaşayan tek kişi ben değilim :

Hala şen ve karmik bir sorun. İlginç bir şekilde, hem Sistem Monitörü hem de htop, tek tek işlemlerin toplamının% 100 CPU'ya yakın olduğunu göstermez.


2
Sisteminiz de yavaş mı? Yanlış bir okuma olabilir.
Bobby

Yanıtlar:


9

"% 10'un üzerinde hiçbir şey" dediğinde "% 10'un üzerinde kimse yok" mu demek istiyorsun? Toplamda% 100'e ulaşmak için ~% 9'da sadece 11 şey gerekir.

Ayrıca, ölçülen kullanılan CPU sürelerinden bazıları G / Ç bekleme süresi - bir işlemin bir şey yapabileceği zaman olabilir, ancak bir G / Ç aygıtının yanıt vermesini beklediği için değildir (yani bir disk isteği yaptı ve disk henüz doğru veri parçasını bulamadı ve geri verdi). Üstte, bu CPU hat (lar) ında% wa ölçüsü olarak görülebilir. I / O bekleme durumu biraz tuhaf - CPU aslında hiçbir şey yapmakla meşgul değil (bu yüzden başka bir işlem yapabileceği bir hesaplama yapmak isterse), ancak sistem yükü sayısı arttıkça sistem yük değerlerine de sayılır. sadece CPU aktivitesinden daha fazla.

top -n 1Sorunuzun çıktısını eklemek yararlı olacaktır .

Ayrıca, çekirdeğiniz IO muhasebe özelliğine sahip olacak kadar yakınsa (Ubuntu'nun yeni bir sürümünü kullanıyorsanız) olması gerekir ve açıksa, hangi işlemlerin iotop -n 1 -obçalışarak G / Ç işlemlerini aktif olarak gerçekleştirdiğini görebilirsiniz (iotop varsayılan olarak yüklenmemiş olabilir, yoksa yüklemeyi apt-get install iotopGUI paket yöneticisinde veya GUI paket yöneticisinde bularak deneyin .


1
+ top -n 1Soruyu eklemek istediğin için +1
Tarnay Kálmán

2

Benzer bir sorun yaşadım. İşlemci tam olarak çalkalanıyordu ve Sistem Monitörü'ndeki işlemlerin hiçbiri bir şey göstermedi. Bir terminal penceresinde "top" komutunu kullanarak bir cevap buldum. Bu apt iyi bir nedenle benim cpu hogging olduğunu gösterdi. Peki Sistem Yöneticisi bunu neden göstermedi? Tüm İşlemler için Görüntüle altında bir seçenek olduğu ortaya çıkıyor; benim İşlemlerim olarak kontrol edildi, bu yüzden suçluyu hiç görmedim. Bu yardımcı olur umarım.


0

Ben de aynı sorun var, ama bu [bu hata] komut ile düzeltilmiş olabileceğini gösterdi iken Xorg CPU% 50 kullandığını öğrendim sudo rmmod ums_realtek. Bu sefer Xorg sistem monitöründe yalnızca% 5-10 CPU kullandı, ancak kaynaklar sekmesinde hala% 100 gösterdi.

Sistem monitörünü izlerken,% 100 CPU kullanarak bir kök işleminin yanıp söndüğünü gördüm! Ne olduğunu görmek için zamanım yoktu, ama bunun bununla bir ilgisi olduğundan eminim.


-1

İlk soru, sisteminizin yavaş mı yoksa yanıt vermiyor gibi mi olduğudur. Her şeyden önce sizin CPU'unuz, bunun için ödeme yaptınız ve amaçlarınız için onu tam olarak çalıştırma hakkına sahipsiniz. İkinci soru, sisteminizle çok fazla şey yapmaya çalışıp çalışmadığınız ve mümkünse yükseltmeyi düşünüp düşünmemenizdir. İlk Linux kutumun içinde yavaş bir 486 vardı ve üstesinden gelmek gerçekten kolaydı. Örneğin, bir OLPC XO üzerinde çalışıyorsanız, kaynaklarınız gerçekten sınırlıdır.

Cidden, aynı anda çok sayıda aşırı kaynak domuzu çalıştırmanız pek olası değildir. Hiçbir işlem% 10'dan fazla almıyorsa, sisteminiz ördekler tarafından öldürülür ve yaptığınız işi azaltmadan yükü azaltamazsınız.

Bununla birlikte, sistem hizmetlerinizi kontrol edin ve istemediğiniz herhangi birini kapatın. Gerçekten istemediğinizden emin olduklarınızı kaldırın ( sudo apt-get remove foo). Özellikle sistemi aşırı yüklüyorsanız, yükteki herhangi bir azalma sadece yardımcı olabilir. Kullanmadığınız programlardan çıkmayı deneyin.

Kullanılabilir tüm işlemcileri kullanan bir işlem varsa, en üstte çalışarak ve büyük işlemlerin% ne kadar kaynağını kullandığına dikkat ederek bulmayı deneyin. Birkaç kişiyi öldürdüğünüzde, birinin diğerinden daha hızlı yükselip yükselmediğine bakın. Tabii ki, böyle bir süreci öldürmek sizi bu kadar satın almaz, çünkü yükün% 10'undan fazla değildir.


CPU kullanıyor olsaydım, bilirdim. Normal çalışma sırasında% 100 sürekli çalışmaz ve kesinlikle bunun olabileceğini düşündüğüm her şeyi kapattığımda olmamalıdır.
endolith

-1
  1. apt-get install cpufrequtils
  2. açık /etc/rc.conf
  3. MODÜLLERE aşağıdakileri ekleyin: MODULES=(# modülleriniz-dokunmayın #acpi-cpufreq cpufreq_ondemand cpufreq_performance)
  4. Yeniden Başlatma

Yeniden cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governorsbaşlattıktan sonra hangi modüllerin yüklendiğini görmek için çalıştırmalısınız .

Çalışma sırasında, valileri ihtiyaçlarınıza uygun şekilde değiştirebilirsiniz. Örneğin:

  • cpufreq-set -r -g ondemand

Aşağıdaki düzenleyicilerden birini kullanabilirsiniz:

  • Performans : o maksimum saate CPU çalıştırır (modülü: cpufreq_performance)
  • ondemand : Dinamik sys yük göre CPU (lar) mevcuttur saat hızları arasında geçiş (modül: cpufreq_ondemand)
  • muhafazakar : Benzer etmek ondemand, ancak CPU (ler) saat hızı mevcut tüm frekansları aracılığıyla kademeli olarak geçer (sys yüküne dayalı) (modülü: cpufreq_conservative)
  • güç tasarrufu : İşlemci (lar) en az bir hızda çalışır (modülü cpufreq_powersave)
  • userpace : kullanıcının CPU saat hızını manuel olarak ayarlamasına olanak tanır. (modülü cpufreq_userspace)

GNOME2 kullanıyorsanız, şaşırtıcı bir uygulama var.

  1. Panelinize sağ tıklayın
  2. Uygulama ekle
  3. yazmaya başlayın:, CPUgörebilmeniz gerekir :)
  4. Tıklayın Add

Bu uygulamayı kullanarak, mevcut düzenleyiciler arasında geçiş yapabilirsiniz (daha /etc/rc.confönce eklediniz ).

Örneğin, ondemandher zaman kullanıyorum çünkü ArchLinux'umda tutulma ve Android emülatörü çalıştırmak için tam performansa ihtiyacım yok: P

Summa Summarum - cpufrequtils için google ve nasıl kullanılacağını öğrenin :) Bu pckg zaman ve para tasarrufu; D

Şerefe!

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.