Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       getrusage - obține informații despre utilizarea resurselor

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <sys/resource.h>

       int getrusage(int who, struct rusage *usage);

DESCRIERE

       getrusage() returnează măsurile de utilizare a resurselor pentru who, care pot fi una dintre următoarele:

       RUSAGE_SELF
              Returnează  statisticile  de  utilizare a resurselor pentru procesul apelant, care reprezintă suma
              resurselor utilizate de toate firele din proces.

       RUSAGE_CHILDREN
              Returnează statistici privind utilizarea resurselor pentru toți  copiii  procesului  apelant  care
              s-au încheiat și au fost așteptați. Aceste statistici vor include resursele utilizate de nepoți și
              de  descendenții îndepărtați ulterior, în cazul în care toți descendenții care au intervenit și-au
              așteptat copiii care s-au încheiat.

       RUSAGE_THREAD (începând cu Linux 2.6.26)
              Returnează statisticile de utilizare a resurselor pentru firul apelant.  Macrocomanda de testare a
              caracteristicii _GNU_SOURCE trebuie definit (înainte de includerea fișierului de antet any) pentru
              a obține definiția acestei constante din <sys/resource.h>.

       Utilizările resurselor sunt returnate în structura indicată de usage, care are următoarea formă:

           struct rusage {
               struct timeval ru_utime; /* timpul CPU utilizat de utilizator */
               struct timeval ru_stime; /* timpul CPU utilizat de sistem */
               long   ru_maxrss;        /* dimensiunea maximă a setului rezident */
               long   ru_ixrss;         /* dimensiunea integrală a memoriei partajate */
               long   ru_idrss;         /* dimensiunea integrală a memoriei nepartajate */
               long   ru_isrss;         /* dimensiune integrală a stivei nepartajate */
               long   ru_minflt;        /* revendicări de pagină (defecte de pagină ușoare) */
               long   ru_majflt;        /* defecte de pagină (defecte de pagină grave) */
               long   ru_nswap;         /* swaps */
               long   ru_inblock;       /* operații de intrare în bloc */
               long   ru_oublock;       /* operații de ieșire în blocs */
               long   ru_msgsnd;        /* mesaje IPC trimise */
               long   ru_msgrcv;        /* mesaje IPC primite */
               long   ru_nsignals;      /* semnale primite */
               long   ru_nvcsw;         /* schimbări voluntare de context */
               long   ru_nivcsw;        /* schimbări involuntare de context */
           };

       Nu toate câmpurile sunt completate; câmpurile neîntreținute sunt puse la zero de către nucleu; (câmpurile
       neîntreținute sunt furnizate pentru compatibilitate cu alte sisteme și pentru că într-o zi  ar  putea  fi
       acceptate pe Linux). Câmpurile sunt interpretate după cum urmează:

       ru_utime
              Aceasta  este  cantitatea totală de timp petrecută executând în modul utilizator, exprimată într-o
              structură timeval (secunde plus microsecunde).

       ru_stime
              Aceasta este cantitatea totală de timp petrecută  executând  în  modul  nucleu,  exprimată  într-o
              structură timeval (secunde plus microsecunde).

       ru_maxrss (începând cu Linux 2.6.32)
              Aceasta   este   dimensiunea   maximă   a   setului  rezident  utilizat  (în  kiloocteți).  Pentru
              RUSAGE_CHILDREN, aceasta este dimensiunea setului rezident al celui mai mare copil, nu dimensiunea
              maximă a setului rezident al arborelui de procese.

       ru_ixrss (nu este întreținut)
              Acest câmp este în prezent neutilizat pe Linux.

       ru_idrss (nu este întreținut)
              Acest câmp este în prezent neutilizat pe Linux.

       ru_isrss (nu este întreținut)
              Acest câmp este în prezent neutilizat pe Linux.

       ru_minflt
              Numărul de erori de pagină rezolvate fără nicio activitate de In/Ieș; în acest caz, activitatea de
              In/Ieș este evitată prin „recuperarea” unui cadru de pagină din  lista  de  pagini  care  așteaptă
              realocarea.

       ru_majflt
              Numărul de erori de pagină deservite care au necesitat activitate In/Ieș.

       ru_nswap (nu este întreținut)
              Acest câmp este în prezent neutilizat pe Linux.

       ru_inblock (începând cu Linux 2.6.22)
              Numărul de ori în care sistemul de fișiere a trebuit să efectueze o intrare.

       ru_oublock (începând cu Linux 2.6.22)
              Numărul de ori în care sistemul de fișiere a trebuit să efectueze o ieșire.

       ru_msgsnd (nu este întreținut)
              Acest câmp este în prezent neutilizat pe Linux.

       ru_msgrcv (nu este întreținut)
              Acest câmp este în prezent neutilizat pe Linux.

       ru_nsignals (nu este întreținut)
              Acest câmp este în prezent neutilizat pe Linux.

       ru_nvcsw (începând cu Linux 2.6)
              Numărul  de  ori  în  care  a  avut loc o schimbare de context ca urmare a faptului că un proces a
              renunțat în mod voluntar la procesor înainte de finalizarea tranșei sale de timp (de obicei pentru
              a aștepta disponibilitatea unei resurse).

       ru_nivcsw (începând cu Linux 2.6)
              Numărul de ori în care a avut loc o schimbare de context ca urmare a  faptului  că  un  proces  cu
              prioritate  mai mare a devenit executabil sau pentru că procesul curent și-a depășit intervalul de
              timp.

VALOAREA RETURNATĂ

       În caz de succes, se returnează zero. În caz de eroare, se returnează  -1,  iar  errno  este  configurată
       pentru a indica eroarea.

ERORI-IEȘIRE

       EFAULT usage indică în afara spațiului de adrese accesibil.

       EINVAL who nu este valid.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │ InterfațăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ getrusage()                                                             │ Siguranța firelor │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       POSIX.1-2008.

       POSIX.1 specifică getrusage(), dar specifică numai câmpurile ru_utime și ru_stime.

       RUSAGE_THREAD este specific Linux.

ISTORIC

       POSIX.1-2001, SVr4, 4.3BSD.

       Înainte  de Linux 2.6.9, dacă dispoziția SIGCHLD este stabilită la SIG_IGN, atunci utilizările de resurse
       ale proceselor copil sunt incluse automat în valoarea returnată  de  RUSAGE_CHILDREN,  deși  POSIX.1-2001
       interzice  explicit  acest  lucru.   Această neconformitate este rectificată în Linux 2.6.9 și versiunile
       ulterioare.

       Definiția structurii prezentată la începutul acestei pagini a fost preluată din 4.3BSD Reno.

       Sistemele  vechi  ofereau  o   funcție   vtimes()   cu   un   scop   similar   cu   getrusage().   Pentru
       retrocompatibilitate, glibc (până la Linux 2.32) furnizează, de asemenea, vtimes(). Toate aplicațiile noi
       ar  trebui  să  fie  scrise  folosind  getrusage();  (începând  cu  Linux 2.33, glibc nu mai furnizează o
       implementare vtimes()).

NOTE

       Măsurătorile de utilizare a resurselor sunt păstrate pe parcursul unui execve(2).

CONSULTAȚI ȘI

       clock_gettime(2), getrlimit(2), times(2), wait(2), wait4(2), clock(3), proc_pid_stat(5), proc_pid_io(5)

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel    Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 sau o
       versiune  ulterioară  cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se   asumă   NICIO
       RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                       getrusage(2)