| getrusage(2) | System Calls Manual | getrusage(2) |
getrusage - считывает использованные ресурсы
Стандартная библиотека языка C (libc, -lc)
#include <sys/resource.h>
int getrusage(int who, struct rusage *usage);
getrusage() возвращает текущие ограничения на ресурсы для значения who, которое может быть:
Данные по использованным ресурсам возвращаются в структуре, на которую указывает usage; она имеет следующий вид:
struct rusage {
struct timeval ru_utime; /* время ЦП, исполь. в режиме пользователя */
struct timeval ru_stime; /* время ЦП, исполь. в режиме системы */
long ru_maxrss; /* максимальный rss */
long ru_ixrss; /* полный объём общей памяти */
long ru_idrss; /* полный объём собственной памяти */
long ru_isrss; /* полный объём собственного стека */
long ru_minflt; /* количество восстановленных страниц
(мягких отказов) */
long ru_majflt; /* количество отказавших страниц
(жёстких отказов) */
long ru_nswap; /* количество обращений при подкачке */
long ru_inblock; /* количество операций блокового ввода */
long ru_oublock; /* количество операций блокового вывода */
long ru_msgsnd; /* количество посланных сообщений IPC */
long ru_msgrcv; /* количество принятых сообщений IPC */
long ru_nsignals; /* количество принятых сигналов */
long ru_nvcsw; /* количество переключений контекста */
long ru_nivcsw; /* кол-во принудительных переключений контекста */
};
Не все поля заполняются; несопровождаемые поля устанавливаются ядром в ноль. (Несопровождаемые поля предоставляются для совместимости с другими системами, и когда-нибудь станут поддерживаться в Linux.) Поля следует понимать так:
При успешном выполнении возвращается 0. При ошибке возвращается -1, а в errno содержится код ошибки.
Описание терминов данного раздела смотрите в attributes(7).
| Интерфейс | Атрибут | Значение |
| getrusage() | Безвредность в нитях | MT-Safe |
POSIX.1-2008.
POSIX.1 specifies getrusage(), but specifies only the fields ru_utime and ru_stime.
RUSAGE_THREAD есть только в Linux.
POSIX.1-2001, SVr4, 4.3BSD.
Before Linux 2.6.9, if the disposition of SIGCHLD is set to SIG_IGN then the resource usages of child processes are automatically included in the value returned by RUSAGE_CHILDREN, although POSIX.1-2001 explicitly prohibits this. This nonconformance is rectified in Linux 2.6.9 and later.
Определение структуры, показанное в начале страницы, взято из 4.3BSD Reno.
Ancient systems provided a vtimes() function with a similar purpose to getrusage(). For backward compatibility, glibc (up until Linux 2.32) also provides vtimes(). All new applications should be written using getrusage(). (Since Linux 2.33, glibc no longer provides an vtimes() implementation.)
Значения использованных ресурсов сохраняются при execve(2).
clock_gettime(2), getrlimit(2), times(2), wait(2), wait4(2), clock(3), proc_pid_stat(5), proc_pid_io(5)
Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
| 2 мая 2024 г. | Справочные страницы Linux 6.9.1 |