"Gerçek" zaman neden "kullanıcı" ve "sys" zamanlarının toplamından çok daha yüksek olsun?


19

Ben yürütmek ve timebirçok komut nslookuparacılığıyla (yani ) SSHve zımni hizmetin tamamlanması için gereken toplam süreyi (yani DNS ) toplar . Ben toplamak Yani userve syssıra zaman realzaman süreç ihtiyacım yok ki kapattığı durumda zaman sayar zaman ... sanırım.

Ama bazı testlerimin sonuçları şöyle oldu:

real 3m22.033s
user 0m0.009s
sys 0m0.014s

Bu testleri sınırlı kaynak linux kutularında yürütüyorum, ancak yine de realzaman önemli ölçüde yüksek. Bu yalnızca kutunun ÇOK farklı işlemleri yürütmekle meşgul olduğunu gösterir mi? Hizmetin ne kadar sürdüğünü bilmek için userve syssaatlerini eklemek hala doğru mu?

Yanıtlar:


22

Gerçek , işlemin sona erdirilmesi için geçen toplam süredir (başlangıç ​​zamanı ile durdurma zamanı arasındaki farktır):

$ time sleep 3

real    0m3.002s
user    0m0.000s
sys     0m0.000s

Bu girişle olarak, kullanıcı ve sys kullanıcı modu ve çekirdek modunda sırasıyla harcanan zaman bakın. Bunlar , hareketsizken, uyku durumunda harcanan zamanı içermez . Bir işlem, kasıtlı olarak istendiğinde veya IO'nun (ağ / disk erişimi / kullanıcı etkileşimi) kullanılabilir olmasını beklerken veya sistem çok yüksek yük altındayken kullanılabilir CPU eksikliği nedeniyle diğer işlemlerin sona ermesini beklerken uykuya dalar. , vb.

Aradığınızda Genellikle, timeüzerinde wget, gerçek indir, zaman almasıdır irade karşılık gelir kullanıcı (sürece önemsiz olmalıdır wgetyoğun veri işleme yapması istenir), sys küçük olmalıdır (bazı zamanlı veri geri hareketli, tampon mücadeleye harcanan olabilir ve çekirdek alanından kullanıcı alanına kadar.)


Soruna eklediğim wgetiçin özür dilerim , aslında bilmiyorum timeama açıklama için teşekkürler. realAğ IO'yu beklemek gibi engelleme sürelerini içerdiğini söylemek, aslında ağı test ettiğim için o zamanı da dahil etmemi düşünüyor. Teşekkür ederim.
Muhammed Gelbana

Ağın performansını ve sorgulanan makinenin bir DNSsunucu veya pingli bir makine olup olmadığını test etmek için aşağıdakileri doğrular realmısınız , sadece zamanı ölçmek yeterli midir?
Muhammed Gelbana

@MuhammadGelbana: Bu gerçek zaman sadece bir kronometre, başka bir şey değil. ping3 dakika boyunca koşmanıza izin verirseniz , 3 dakika 22 geri döner. Bu durumda sadece işe yaramaz (ve çoğu zaman bir kriter olarak işe yaramaz, sonuç dış faktörlere bağlıdır).
Stéphane Gimenez

Teşekkürler. Ama neden zaman aşımına uğramadığını biliyor musunuz? Varsayılan zaman aşımının nslookup5 saniye olduğunu okudum !
Muhammed Gelbana
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.