Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Web Server > Server
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti

Server Gestione e fornitura servizi web

Hey Amico Visitatore,
Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Server


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 02-02-11, 22:29   #1 (permalink)
Banned
 
Data di registrazione: Mar 2009
Messaggi: 126
Limitare l'utilizzi della memoria SWAP o RAM a un programma in esecuzione

Ciao ragazzi,
ho visto che c'è un programma che limita l'utilizzo della CPU, e si chiama cpulimit. Ma non esiste invece un altro programma simile o impostazione, che però limiti al singolo programma di utilizzare oltre una certa quota massima di memoria impostata?

Grazie in anticipo
frank92 non in linea   Rispondi citando
Vecchio 03-02-11, 13:32   #2 (permalink)
Moderatore
 
L'avatar di paolino
 
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 4,443
Ovviamente esiste ed è ulimit http://ss64.com/bash/ulimit.html

C'è anche un metodo più complesso che è quello dei cgroups http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt
__________________
paolino non in linea   Rispondi citando
Vecchio 03-02-11, 15:22   #3 (permalink)
Banned
 
Data di registrazione: Mar 2009
Messaggi: 126
Non è possibile fare come cpulimit? cioè indico il processo a cui deve limitare l'uso di CPU? ulimit sembra ke lo termini il processo più che limitarlo, e poi non è che lo limita bene perchè si avviano 2 processi quando avvio questo programma, uno lo stoppa e l'altro abusa di memoria per conto suo, che comando devo dargli?

Ho gia provato ulimit -m 50000 (sarebbe 50MB), ma nn ha effetto su tutti e 2 i processi

Oppure la seconda alternativa come posso fare a limitarlo a livello del kernel, ma vorrei che lo faccia solo per determinati processi!
Puoi spiegarmi come fare a livello del kernel sia come consumo di CPU che di RAM?

Ultima modifica di frank92 : 03-02-11 15:26.
frank92 non in linea   Rispondi citando
Vecchio 03-02-11, 16:00   #4 (permalink)
Moderatore
 
L'avatar di paolino
 
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 4,443
L'unico modo è sfruttare i cgroups. Ho visto che esiste un programma chiamato rlimit ma non so fino a che punto funziona.
__________________
paolino non in linea   Rispondi citando
Vecchio 03-02-11, 17:14   #5 (permalink)
Banned
 
Data di registrazione: Mar 2009
Messaggi: 126
Come faccio ad usare i cgroups?

Come faccio ad usare i cgroups?

Facciamo conto che abbiamo un programma binario avviato come root, come devo settare questi cgroups in modo che questo programma:

- Non superi il 20% di CPU
- Non superi oltre 80 MB di RAM

Come devo fare a settare questi cgroups?
frank92 non in linea   Rispondi citando
Vecchio 03-02-11, 17:54   #6 (permalink)
Moderatore
 
L'avatar di paolino
 
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 4,443
Dipende dalla distribuzione. Ti consiglio di dare un'occhiata qui http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch01.html
__________________
paolino non in linea   Rispondi citando
Vecchio 03-02-11, 21:53   #7 (permalink)
Banned
 
Data di registrazione: Mar 2009
Messaggi: 126
Quote:
paolino Visualizza il messaggio
Dipende dalla distribuzione. Ti consiglio di dare un'occhiata qui http : / / docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch01.html
La distribuzione è Debian 5 x64
frank92 non in linea   Rispondi citando
Vecchio 03-02-11, 22:37   #8 (permalink)
Moderatore
 
L'avatar di paolino
 
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 4,443
Guarda qui http://hydra.geht.net/tino/english/faq/debian/squeeze/cgroups/
__________________
paolino non in linea   Rispondi citando
Vecchio 04-02-11, 15:25   #9 (permalink)
Banned
 
Data di registrazione: Mar 2009
Messaggi: 126
Puoi procurarmi uno script che ferma i processi che superano un certo limite di utilizzo della RAM?

Pseudo Linguaggio:

Codice:
varPROG = "prog.bin";

ciclo{

  if(varPROG è in esecuzione) {

    varPID = PID(varPROG); // estrai PID del programma

    varMEM = RAM(varPID); // estrai variabile di utilizzo di   memoria da parte del PID

       if (varMEM => "5") { // se maggiore del 5% dell'utilizzo

       kill - 9 varPID; // ferma il programma con tale PID

       }

  }

  sleep(7); // In pausa per 7 secondi

}

Ultima modifica di frank92 : 04-02-11 15:59.
frank92 non in linea   Rispondi citando
Vecchio 04-02-11, 16:50   #10 (permalink)
Moderatore
 
L'avatar di paolino
 
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 4,443
Non ho trovato nulla di già pronto online. Comunque per conoscere lo stato di un processo, devi leggere /proc/<pid-del-processo>/status
__________________
paolino non in linea   Rispondi citando
Vecchio 04-02-11, 17:38   #11 (permalink)
Banned
 
Data di registrazione: Mar 2009
Messaggi: 126
Con ulimit posso limitare anche l'utilizzo della CPU?
Per esempio per limitare l'utilizzo della cpu con ulimit a 20% come faccio?
frank92 non in linea   Rispondi citando
Vecchio 04-02-11, 18:32   #12 (permalink)
Moderatore
 
L'avatar di paolino
 
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 4,443
ulimit -t XXX
__________________
paolino non in linea   Rispondi citando
Vecchio 04-02-11, 20:36   #13 (permalink)
Banned
 
Data di registrazione: Mar 2009
Messaggi: 126
Facendo ulimit -t 20, limiterà i processi a un consumo massimo del 20% della CPU?
frank92 non in linea   Rispondi citando
Vecchio 04-02-11, 22:08   #14 (permalink)
Moderatore
 
L'avatar di paolino
 
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 4,443
Si
__________________
paolino non in linea   Rispondi citando
Rispondi
Tags: , , , , , , , ,



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 20:39.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.