Newsgroup: it.comp.os.linux.sys
Titolo: Macchina virtuale all 100% cpu con curl+wget?

Ciao,
macchina virtuale KVM (periferica di rete virtio) su macchina fisica CPU 
T7600 + chipset 945.
 
Ho una script che lancia una decina  di curl o wget(in parallelo) al 
secondo  verso dei dispositivi embedded con stack tcp/http(quindi anche 
tra un syn e un ack ci possono essere svariati millisecondi), appena lo 
lancio la cpu assegnata alla macchina skizza al 100% e il load della 
stessa va a 7 o 8 (dopo un po' tutti e tre i valori).
Ovviamente i processi interessati secodo il SO occupano pochi decimi di 
  punti percentuali di cpu,quindi deve essere qualche meccanismo kernel 
dello stack tcp/ip che non va, dove potrei rivolgere l'attenzione?
 
Giulia
 
 
 

dello stack tcp/ip che non va
 
Non c'e' niente che non va: il sysload di un processo che attende input da un
dispositivo (o dalla rete) e' comunque 1... anche se il dispositivo non e' in
contention e non rallenta in nulla la macchina.
 
Potresti avere una macchina con loadavg a mille, che va come un furetto.
 
Mi pare fosse successo a qualcuno qui, qualche tempo fa, che aveva uno stormo
di dovecot impiccàti.
 
Mi sa che ti converrebbe avere un binario che utilizzi libcurl-multi.
 
Leonardo
 
-- 
What would'st thou do, my squire so gay, that rides beside my reine
Were ye Glenallan's Earl this tide, and I were Roland Cheyne?
To turn the rein were sin and shame, to fight were wondrous peril:
What would ye do now, Roland Cheyne, were ye Glenallan's Earl?

 di dovecot impiccàti.
 
Presente!
Ancora rido, che razza di configurazione che avevo fatto, mi era scappato uno zero di troppo. :)

 Mi sa che ti converrebbe avere un binario che utilizzi libcurl-multi.
 
Si ma si dovrebbe programmare in c , mentre bastano  una 20na di linee bash.
 
Giulia
 
 

Si ma si dovrebbe programmare in c , mentre bastano  una 20na di linee bash.
 
Quello e' vero. Pero' forse potresti pensare a cose tipo
 
 
http://pycurl.sourceforge.net/doc/curlmultiobject.html
 


> Questo non lo so, ma sospetto sia un artefatto.
 
Non sono convinta anche l'host vede al 100% la cpu assegnata al guest.
 
Giulia
 
 


Fatto ora su una macchina fisica(con anche X attivo), il grafico della cpu non si schioda dall 1%, c'e' qualcosa che tocca nella 
gestione del tcp/ip a mio parere un polling da qualche parte.
 
Giulia
 

Giulia ha scritto:

leggendo in giro potrebbe essere anche un offload del tcp (magari i pachetti ip arrivano frammentati).
 
Giulia
 

Non sono convinta anche l'host vede al 100% la cpu assegnata al guest.
 
Forse non ho capito qualche cosa.
 
Con quale comando (e dato dove) puoi dire "la CPU e' al 100%"? Anzi, con
quali comandi; uno e' il controllo sull'host, lo dici qui sopra. L'altro
(da che dici "anche"), qual e'?



Top per entrambi , solo che sull guest da 100% fisso mentre sull host (per ovvie ragioni) da il 50% fisso.
 
Comunque e' qualche pasticcio di virtio, inoltre il kvm-quem di 12.04 e' gia' 3 release indietro alla attuale.
 
Giulia
 
 

 Top per entrambi , solo che sull guest da 100% fisso mentre sull host (per ovvie ragioni) da il 50% fisso.
 
User, system, wait? La differenza è non da poco, per avere indizi su quale potrebbe essere la causa


50% user 50% system
 
Giulia