Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Hosting e Cloud
    5. Limitare l'utilizzi della memoria SWAP o RAM a un programma in esecuzione
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • F
      frank92 Bannato User Attivo • ultima modifica di

      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

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • P
        paolino Moderatore • ultima modifica di

        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

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • F
          frank92 Bannato User Attivo • ultima modifica di

          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?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • P
            paolino Moderatore • ultima modifica di

            L'unico modo è sfruttare i cgroups. Ho visto che esiste un programma chiamato rlimit ma non so fino a che punto funziona.

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • F
              frank92 Bannato User Attivo • ultima modifica di

              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?

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • P
                paolino Moderatore • ultima modifica di

                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

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • F
                  frank92 Bannato User Attivo • ultima modifica di

                  @paolino said:

                  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

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • P
                    paolino Moderatore • ultima modifica di

                    Guarda qui http://hydra.geht.net/tino/english/faq/debian/squeeze/cgroups/

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • F
                      frank92 Bannato User Attivo • ultima modifica di

                      Puoi procurarmi uno script che ferma i processi che superano un certo limite di utilizzo della RAM?

                      Pseudo Linguaggio:

                      
                      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
                      
                      }
                      
                      
                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • P
                        paolino Moderatore • ultima modifica di

                        Non ho trovato nulla di già pronto online. Comunque per conoscere lo stato di un processo, devi leggere /proc/<pid-del-processo>/status

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • F
                          frank92 Bannato User Attivo • ultima modifica di

                          Con ulimit posso limitare anche l'utilizzo della CPU?
                          Per esempio per limitare l'utilizzo della cpu con ulimit a 20% come faccio?

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • P
                            paolino Moderatore • ultima modifica di

                            ulimit -t XXX

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • F
                              frank92 Bannato User Attivo • ultima modifica di

                              Facendo ulimit -t 20, limiterà i processi a un consumo massimo del 20% della CPU?

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • P
                                paolino Moderatore • ultima modifica di

                                Si

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                Caricamento altri post
                                Rispondi
                                • Topic risposta
                                Effettua l'accesso per rispondere
                                • Da Vecchi a Nuovi
                                • Da Nuovi a Vecchi
                                • Più Voti