Newsgroup: it.comp.os.linux.development
Titolo: limitare le risorse

salve a tutti.
ho realizzato un'applicazione che richiede molte risorse in termini di
cicli di cpu e per un tempo abbastanza lungo.
come posso fare in modo da limitare le risorse utilizzate dalla stessa
applicazione in modo tale che la cpu non prenda fuoco?
spero sia stato chiaro.
grazie per l'attenzione.
-- 
                                   _______
      ___________________________.'.------`
     '---------------------------.'
       `.                      .'
     .-//`.                  .'  
http://magicforum.altervista.org
  .' .//.'/`================'
 =[=:====:=]=           \\||
  '. `--' .'             \_|
    `-  -'

 grazie per l'attenzione.
puoi provare a lanciarla con un livello di nice molto basso , ma questo
cambia solo la priorita' di esecuzione rispetto agli altri processi , come
fare a rallentare la cpu è tutt' altra cosa.....
-- 
-------------------------------------------------------------------------------
Figlio: - Ci ho la bambola che partorisce, pa'.
Padre:  - E che vuoi da me?  La prossima volta fa' piu' attenzione.
                -- Donarelli
-------------------------------------------------------------------------------

 come fare a rallentare la cpu è tutt' altra cosa.....
cioé?
-- 
    ("`-''-/").___..--''"`-._
     `6_ 6  )   `-.  (     ).`-.__.`)
     (_Y_.)'  ._   )  `._ `. ``-..-'
   _..`--'_..-_/  /--'_.' ,'
  (il),-''  (li),'  ((!.-'
 
http://magicforum.altervista.org

 
La butto lì, far addormentare il processo ogni tanto?
Ciao
Matteo
-- 
chi sono e soprattutto chi non sono:
http://web.tiscali.it/sifoneteagnalla/
un piccolo programma per studenti universitari:
http://www.ifthenelse.it/leonetti/imsv/

La butto lě, far addormentare il processo ogni tanto?
Agglingo: abbassare il clock del processore?
Alessandro.

 Matteo
anch'io la penso così: metterei una sleep(n) all'interno
di tutti i loop principali e calibrerei n in modo da trovare
il giusto compromesso tra esecuzione e "sonno"

> La butto lě, far addormentare il processo ogni tanto?
e poi come lo sveglio? cappuccino e brioche?
-- 
  .--""--.___.._
 (  <__>  )     `-.
 |`--..--'|      <|  
http://magicforum.altervista.org
 |       :|       /
 |       :|--""-./
 `.__  __;' o!O
     ""

 il giusto compromesso tra esecuzione e "sonno"
proverň. grazie.
-- 
    \\/),
   ,'.' /,
  (_)- / /,
     /\_/ |__..--,  *
    (\ _ /\ \ \ / ).'  
http://magicforum.altervista.org
     \(-'./ / (_ //
      \\ \,'--'\_(
      )(_/  )_/ )_)
     (_,'  (_.'(_.'

 e poi come lo sveglio? cappuccino e brioche?
Così, pensata su due piedi:
testi una condizione, e.g. l'mtime di un file di appoggio. Prima di
rimettere il processo a nanna, cambi l'mtime del file.
stat(2)
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)       [ 
http://digilander.libero.it/ebassi/blog
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

e poi come lo sveglio? cappuccino e brioche?
Puoi usare la sveglia :-)
man alarm
Alessandro.


Ok, non avevo capito di cosa si stesse parlando... ;-P
Alessandro.

 grazie per l'attenzione.
Non ho mai provato, ma guarda il comando ulimit, parametro -t. Oppure, se
preferisci fare direttamente da codice guarda setrlimit() e sysconf().
Luca

 preferisci fare direttamente da codice guarda setrlimit() e sysconf().
thanks
-- 
 o    |~~~|
/\_  _|   |
\__`[_    |	
][ \,/|___| 
http://magicforum.altervista.org

Su alcune CPU, se abiliti il supporto ACPI nel kernel, trovi il file
/proc/acpi/CPU0/throttle        o qc del genere
prima guardaci dentro con cat. Verrà fuori una lista di stati di
"rallentamento del clock" permessi. (Su P4 sono 0--7). Poi un comando tipo
echo "4" > /proc/acpi/CPU0/throttle     
vedrai che rallenta la cpu a metà potenza, e così via.
Saluti
Toni


 vedrai che rallenta la cpu a metà potenza, e così via.
Beh, e' fatto in modo un po' poco ortodosso, nel senso che ogni tot
millisecondi mette a dormire la CPU per x millisecondi.
In pratica gli sega le gambe, perche' ci mette di piu' ad addormentarsi e
svegliarsi che a fare cose utili. Con un processore a 1000 messo al 40% in
questo modo, le prestazioni sono simili a un processore a 200 MHz (quindi
meta' del previsto), e il processore non raffredda nemmeno tanto.
La soluzione migliore e' l'underclocking (si risparmia anche corrente,
oltre a tempreatura) o l'uso di sleep() nel codice.
Bye.

 l'underclocking
cos'é? come si realizza?
grazie
-- 
         ,
    ,   |\ ,__
    |\   \/   `.
    \ `-.:.     `\
     `-.__ `\=====|
        /=`'/   ^_\
      .'   /\   .=)    
http://magicforum.altervista.org
   .-'  .'|  '-(/_|
 .'  __(  \  .'`
/_.'`  `.  |`
         \ |
          |/