Newsgroup: it.comp.os.linux.sys
Titolo: CPU

Ho una macchina linux sulla quale ho avviato un processo con nohup.
La macchina è utilizzata sostanzialmente solo per eseguire questo 
processo che fa elaborazione di dati tutti residenti in memoria (no 
accesso a disco).
Io mi aspettavo di vedere utilizzare dal processo il 100% della CPU, o 
poco meno.
Invece, da quando si evince con il comando, il processo in questione 
occupa il 43% della CPU (l'occupazione di memoria è intorno al 45%) e 
gli altri processi sono tutti a 0.0%.
Sapreste spiegarmi il perchè?
Non credo che top occupi il restante 57% di CPU, e comunque dovrebbe 
comparire nella lista.
Sempre con il comando top il alto compare un "CPU(s) 100% us".
Cosa significa?

 gli altri processi sono tutti a 0.0%.
Quante CPU e quanti cores hai sulla macchina?
Ciao,
  -- Roberto


In top, ordinando i processi per %CPU, cosa vedi?
Il fatto che non vada al 100% può semplicemente significare che il
programma non esegue elaborazioni così pesanti da saturare il processore
al 100% perchè ha dei colli di bottiglia nel trasferimento dei dati o
non è propriamente ottimizzato (ad esempio in Gimp un filtro applicato
su un immagine molto grande mi da un a %cpu di 60-65% e un %wa del
30-35% con %mem del 35% in top), oppure hai un programma che succhia
%cpu che ti è sfuggito. O ancora non è che hai un dual core e il
processo gira al 100% su uno dei 2 core e lascia l'altro libero?
Ciao
Ercole

 poco meno.
Questo solo nel caso ideale che il tuo programma non abbia dipendenze
da altri fattori che lo possono rallentare.
Siamo nel regno delle pure speculazioni, ma ci possono essere tanti
motivi: collo di bottiglia sull'accesso alla memoria, non perfetta
ottimizzazione del codice, utilizzo di solo una parte dei core
disponibili alla macchina, ecc. ecc.
bye!

 Quante CPU e quanti cores hai sulla macchina?
La "macchina" in questione č un EC2 Compute Unit (il servizio di 
amazon.com
 : Amazon Elastic Compute Cloud (Amazon EC2) is a web service 
that provides resizable compute capacity in the cloud. It is designed to 
make web-scale computing easier for developers.)
One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 
GHz 2007 Opteron or 2007 Xeon processor. This is also the equivalent to 
an early-2006 1.7 GHz Xeon processor.
Beh, forse avrebbe piů senso se io ponessi la domanda sul forum AWS.

> In top, ordinando i processi per %CPU, cosa vedi?
Questo (il mio processo è myapp):
top - 07:12:02 up 12:45,  1 user,  load average: 1.00, 1.00, 1.00
Tasks:  39 total,   3 running,  36 sleeping,   0 stopped,   0 zombie
Cpu(s): 100.0% us,  0.0% sy,  0.0% ni,  0.0% id,  0.0% wa,  0.0% hi, 
0.0% si
Mem:   1740944k total,  1632908k used,   108036k free,    14296k buffers
Swap:   917496k total,       36k used,   917460k free,  1146260k cached
   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  1562 root      25   0 1158m 777m 383m R 43.6 45.8 310:48.42 myapp
     1 root      16   0  1740  532  460 S  0.0  0.0   0:05.00 init

Come dicevo in un altro post la "macchina" in questione fa parte del AWS 
EC2. Il problema che ho riscontrato è stato notato da altri utenti e se 
ne discute qui:
http://developer.amazonwebservices.com/connect/thread.jspa?messageID=66816&#66816
Chiedo scusa per non aver individuato da subito il luogo adatto per 
porre la mia domanda (a giustificazione posso dire che ieri sera/notte, 
il mio primo post è delle 00.34, ero un po' fuso :-)
Saluti

 0.0% si
Quindi il tuo sistema e` 0% idle e 100% busy in user space...
Ciao,
  -- Roberto

 I/O ne fa?
Solo un po' di output, ma pochissimo (una riga ogni 6 secondi).
Cmq, come spiegato in altro post il problema è dovuto al tipo di 
macchina, Amazon EC2, un virtual grid computing.