Quanta CPU occupa un processo?
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
-
morphy81
- Linux 0.x

- Messaggi: 24
- Iscritto il: mar 1 apr 2008, 20:10
- Nome Cognome: Alessio Cuccovillo
- Slackware: 13.0
- Kernel: 2.6.27.7-smp
- Desktop: KDE 4.2
- Località: Paderno Dugnano
Quanta CPU occupa un processo?
Ciao a tutti!
avrei bisogno di creare uno script che recuper alcuni PID (ok, questo è semplice) e che mi dica per ogni processo quanta CPU sta usando...
idee?
Grazie 1000!
avrei bisogno di creare uno script che recuper alcuni PID (ok, questo è semplice) e che mi dica per ogni processo quanta CPU sta usando...
idee?
Grazie 1000!
- 414N
- Iper Master

- Messaggi: 2924
- Iscritto il: mer 13 feb 2008, 16:19
- Slackware: 15.0
- Kernel: 5.15.19
- Desktop: KDE5
- Località: Bulagna
- Contatta:
Re: Quanta CPU occupa un processo?
top non ti piace?
- Ansa89
- Iper Master

- Messaggi: 2703
- Iscritto il: mer 29 ago 2007, 17:57
- Nome Cognome: Stefano Ansaloni
- Slackware: 14.2 64bit
- Kernel: 4.9.61
- Desktop: XFCE 4.12
- Località: Modena
Re: Quanta CPU occupa un processo?
Questo dovrebbe fare al caso tuo:
Codice: Seleziona tutto
$ps aux | grep _TUO_PID_ | tr -s " " " " | cut -d " " -f 3- spiri
- Linux 1.x

- Messaggi: 149
- Iscritto il: mar 31 gen 2006, 14:14
- Slackware: current
- Desktop: xfce
- Località: bergamo
Re: Quanta CPU occupa un processo?
Ciao, oppure scomodando awk:
ciao
spiri
Codice: Seleziona tutto
$ps aux | grep _TUO_PID_ | awk '{print $3}
spiri
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Quanta CPU occupa un processo?
Entrambe le soluzioni sono "complesse" e errate. Complesse perchè, da ps(1), basta:dove _TUO_PID_ può anche essere una lista CSV (comma-separated values) di PID.
Errate perchè un pid è un valore numerico, l'output che si ottiene con 'ps aux' contiene altri valori numerici oltre al pid, quindi il grep potrebbe "matchare" più di una riga. Per esempio quando casualmente il PID di un processo è uguale alla VSZ (virtual memory size) di un altro.
Emanuele
Codice: Seleziona tutto
ps -opcpu= -p_TUO_PID_Errate perchè un pid è un valore numerico, l'output che si ottiene con 'ps aux' contiene altri valori numerici oltre al pid, quindi il grep potrebbe "matchare" più di una riga. Per esempio quando casualmente il PID di un processo è uguale alla VSZ (virtual memory size) di un altro.
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
-
Mario Vanoni
- Iper Master

- Messaggi: 3174
- Iscritto il: lun 3 set 2007, 21:20
- Nome Cognome: Mario Vanoni
- Slackware: 12.2
- Kernel: 3.0.4 statico
- Desktop: fluxbox/seamonkey
- Località: Cuasso al Monte (VA)
Re: Quanta CPU occupa un processo?
Se il processo e` multi-thread,morphy81 ha scritto: avrei bisogno di creare uno script che recuper alcuni PID (ok, questo è semplice) e che mi dica per ogni processo quanta CPU sta usando...
si suddivide sulle CPU presenti,
con processore unico idem per ogni task.
Esempio pratico su una Core 2 Dual:
make -j 2 bzImage con un kernel di Con Kolivas
top dice tutto il tempo i due CPU 0.0% idle,
se guardi i PID dei due cc1 che compilano,
cambiano continuamente.
Con un semplice
make bzImage
top dice che i due CPU sono sul 50% idle,
il PID del cc1 cambia continuamente.
Quintessenza:
se il processso e` multi-thread, no chance,
se e` monolitico si`, non usando sub-processi.
- robbybby
- Linux 4.x

- Messaggi: 1223
- Iscritto il: sab 16 dic 2006, 10:48
- Slackware: 13.1 / 64 bit
- Kernel: 3.3.x
- Desktop: KDE 4.4.5
- Località: Fra Trantor e Terminus
Re: Quanta CPU occupa un processo?
Ne sei sicuro Mario? Intedno se sei cicuro che non si possa recuperare il tempo di processore di un porgramma multithread.
Qualche tempo fa, con un programmino Java creato ad hoc, top mi dava un'occupazione di CPU di poco superiore al 100% (tipo 104-105%). Cio' dovrebbe voler dire che, se il processo e' uno solo, indipendentemente dal numero dei thread e dei processori/core, e' possibile recuperarne in tempo di CPU, anche se esso viene suddiviso (evidentemente, visto che supera il 100%) su piu' CPU/core.
make -j2 da' i risultati che hai scritto tu perche' lancia due copie di cc1, quidni si hanno effettivamente due processi separati.
Qualche tempo fa, con un programmino Java creato ad hoc, top mi dava un'occupazione di CPU di poco superiore al 100% (tipo 104-105%). Cio' dovrebbe voler dire che, se il processo e' uno solo, indipendentemente dal numero dei thread e dei processori/core, e' possibile recuperarne in tempo di CPU, anche se esso viene suddiviso (evidentemente, visto che supera il 100%) su piu' CPU/core.
make -j2 da' i risultati che hai scritto tu perche' lancia due copie di cc1, quidni si hanno effettivamente due processi separati.
- 414N
- Iper Master

- Messaggi: 2924
- Iscritto il: mer 13 feb 2008, 16:19
- Slackware: 15.0
- Kernel: 5.15.19
- Desktop: KDE5
- Località: Bulagna
- Contatta:
Re: Quanta CPU occupa un processo?
Occhio che Java crea ed esegue i thread all'interno di un singolo processo java (la JVM). Il kernel è all'oscuro di quanti thread stiano girando all'interno della JVM, perché sono thread a livello utente.robbybby ha scritto:Ne sei sicuro Mario? Intedno se sei cicuro che non si possa recuperare il tempo di processore di un porgramma multithread.
Qualche tempo fa, con un programmino Java creato ad hoc, top mi dava un'occupazione di CPU di poco superiore al 100% (tipo 104-105%). Cio' dovrebbe voler dire che, se il processo e' uno solo, indipendentemente dal numero dei thread e dei processori/core, e' possibile recuperarne in tempo di CPU, anche se esso viene suddiviso (evidentemente, visto che supera il 100%) su piu' CPU/core.
make -j2 da' i risultati che hai scritto tu perche' lancia due copie di cc1, quidni si hanno effettivamente due processi separati.
-
Mario Vanoni
- Iper Master

- Messaggi: 3174
- Iscritto il: lun 3 set 2007, 21:20
- Nome Cognome: Mario Vanoni
- Slackware: 12.2
- Kernel: 3.0.4 statico
- Desktop: fluxbox/seamonkey
- Località: Cuasso al Monte (VA)
Re: Quanta CPU occupa un processo?
Permetti il dubbio?robbybby ha scritto:Ne sei sicuro Mario? Intedno se sei cicuro che non si possa recuperare il tempo di processore di un porgramma multithread.
Qualche tempo fa, con un programmino Java creato ad hoc, top mi dava un'occupazione di CPU di poco superiore al 100% (tipo 104-105%). Cio' dovrebbe voler dire che, se il processo e' uno solo, indipendentemente dal numero dei thread e dei processori/core, e' possibile recuperarne in tempo di CPU, anche se esso viene suddiviso (evidentemente, visto che supera il 100%) su piu' CPU/core.
make -j2 da' i risultati che hai scritto tu perche' lancia due copie di cc1, quidni si hanno effettivamente due processi separati.
Sia che con sar 1 che con sar -P ALL 1 che con top
non ho mai visto valori superiori al 100%.
Ma facendo esperimenti con vari progammi multi-thread, vedi
viewtopic.php?f=2&t=28988&start=0&hilit ... ip#p247313
taluni dei compressori/decompressori parallaleli
usavano al 100% i due CPU presenti, con altri uno restava con un tot% idle.
Con i kernel di Con Kolivas
make -j 2 bzImage
i due CPU erano sempre occupati al 100%, quindi 0.0% idle
con l'ultimo kernel 2.6.32.7, scheduler di Ingo Molnar,
i due processorei segnavano una tatum 0.2...2.0% idle,
timing per lo stesso kernel, stessa macchina:
5m21 per Con Kolivas (kernel 2.6.32.6-ck2)
5m42 per Ingo Molnar (kernel 2.6.32.7)
PS Il kernel 2.6.32.7 non e` piu` patch'abile con -ck2, un hunk grave!
- robbybby
- Linux 4.x

- Messaggi: 1223
- Iscritto il: sab 16 dic 2006, 10:48
- Slackware: 13.1 / 64 bit
- Kernel: 3.3.x
- Desktop: KDE 4.4.5
- Località: Fra Trantor e Terminus
Re: Quanta CPU occupa un processo?
Capisco che tu possa rimanere perplesso, ma ho riprovato, e top mi da' 101%, par la jvm: una cpu al 99.5% user + 0.5% sys, e l'altra al 4.3% user + 0.9% sys.
Chiaramente quel 101% riguarda l'intera istannza della jvm, di cui il mio programmino di test e' solo un thread, che non potra' mai superare il 100% di cpu. Ma la jvm nel suo insieme, evidentemente si'. Oppure e' un bug di top: anche questa e' una possibilita' da non scartare.
Chiaramente quel 101% riguarda l'intera istannza della jvm, di cui il mio programmino di test e' solo un thread, che non potra' mai superare il 100% di cpu. Ma la jvm nel suo insieme, evidentemente si'. Oppure e' un bug di top: anche questa e' una possibilita' da non scartare.
-
Mario Vanoni
- Iper Master

- Messaggi: 3174
- Iscritto il: lun 3 set 2007, 21:20
- Nome Cognome: Mario Vanoni
- Slackware: 12.2
- Kernel: 3.0.4 statico
- Desktop: fluxbox/seamonkey
- Località: Cuasso al Monte (VA)
Re: Quanta CPU occupa un processo?
Rifai il tuo test osservando top,robbybby ha scritto:Capisco che tu possa rimanere perplesso, ma ho riprovato, e top mi da' 101%, par la jvm: una cpu al 99.5% user + 0.5% sys, e l'altra al 4.3% user + 0.9% sys.
Chiaramente quel 101% riguarda l'intera istannza della jvm, di cui il mio programmino di test e' solo un thread, che non potra' mai superare il 100% di cpu. Ma la jvm nel suo insieme, evidentemente si'. Oppure e' un bug di top: anche questa e' una possibilita' da non scartare.
ma solo i valori n.n%id dei due processori,
i valori n.n%us e n.n%sy non dicono niente sull'uso dei CPU!