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

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ță │ Atribut │ Valoare │
├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
│ 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)