Komut satırında "saat" kullanılırken "sistem saati" nedir


10

Ben Ubuntu 14.04 standart terminalde timebir Perlkomut dosyası zaman kullanarak .

Ben var okumak o real timekronometre zamanı; bir kullanıcı olarak, çalıştığım programdan baktığımda programı sona erene kadar harcıyorum. Ama ne olduğunu userya da syszamanını anlamıyorum . En timeazından söylemek gerekirse, adam sayfası belirsiz.

Biraz boşken o realzaman arasındaki bölünmüş olduğu userve sysbunun temsil ettikleri ne olduğu açık değildir.

Senaryomda farkı görmek için [1] C ++ ve Perl'i karşılaştırıyorum ve gerçekte hangi verileri aldığımı bilmek istiyorum. Örnek bir çıktı:

real    0m24.198s
user    0m23.120s
sys     0m1.030s

Birisi kullanıcıya varsayılan zaman biçiminin ne olduğunu açıklayabilir mi? Linux konusunda acemi biriyim, bu yüzden lütfen fazla düşünmeyin.

[1] İlginçtir ki, C ++ realzaman açısından kıyaslamamda Perl'den çok daha hızlı olsa da , syszamanlar o kadar farklı değil, C ++ aslında sysPerl'den daha fazla zaman kullanıyor . Bu yüzden ne demek istediklerini bilmek istiyorum


Yanıtlar:


15

Gönderen wikipedia :

  • Kullanıcı Saati ve Sistem Saati

'Kullanıcı CPU zamanı' terimi ilk başta biraz yanıltıcı olabilir. Açık olmak gerekirse, toplam CPU süresi, CPU'ların bir program için bazı eylemler gerçekleştirmek için harcadığı sürenin ve CPU (lar) ın sistem adına çekirdek çağırmak için harcadığı sürenin program adına birleşimidir. Bir program bir dizi üzerinden geçtiğinde, kullanıcının CPU zamanını biriktirir. Tersine, bir program exec veya fork gibi bir sistem çağrısı yürüttüğünde, sistemin CPU zamanını biriktirir.

  • Gerçek Zaman ve CPU Zamanı

Bu bağlamda "gerçek zamanlı" terimi, bir kronometre kullanmak gibi geçen "duvar saati" zamanını ifade eder. Toplam CPU süresi (kullanıcı süresi + sys süresi) bu değerden daha fazla veya daha az olabilir. Bir program beklemek ve yürütmek için biraz zaman harcayabileceğinden (kullanıcı modunda veya sistem modunda olsun) gerçek zaman toplam CPU süresinden daha uzun olabilir. Bir program CPU zamanları (hem kullanıcı hem de sys) time komutu tarafından bildirilen değerlere eklenen çocukları çatallayabileceğinden, toplam CPU zamanı gerçek zamandan daha büyük olabilir.


1
Wikipedia makalesini nasıl bulamadığımı anlamıyorum. Teşekkür ederim.
Alrekr
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.