Unix Man (Справочное руководство)


ACCT(4)


ACCT(4)

НАЗВАНИЕ


acct - формат файла с информацией о процессах

СИНТАКСИС

#include <sys/acct.h>

ОПИСАНИЕ


Файлы, которые образуются системным вызовом , содержат записи следующей структуры, определенной во включаемом файле <sys/acct.h>:

typedef ushort comp_t; /* "Вещественное число": 13 бит мантисса, 3 бита порядок */

struct acct { char ac_flag; /* Флаг учетной информации */ char ac_stat; /* Код завершения */ ushort ac_uid; ushort ac_gid; dev_t ac_tty; time_t ac_btime; /* Время начала */ comp_t ac_utime; /* Пользовательское время ЦП в тактах часов */ comp_t ac_stime; /* Системное время ЦП в тактах часов */ comp_t ac_etime; /* Астрономическое время выполне- ния в тактах часов */ comp_t ac_mem; /* Расход памяти в Кб */ comp_t ac_io; /* Кол-во переданных символов */ comp_t ac_rw; /* Общее число прочитанных и за- писанных блоков */ char ac_comm[8]; /* Имя команды */ };

extern struct acct acctbuf; extern struct inode *acctp; /* Описатель файла учетной информации */ #define AFORK 01 /* Выполнен fork, но не exec */ #define ASU 02 /* Привилегии суперпользователя */ #define ACCTF 0300 /* Тип записи: 00 = acct */

В поле ac_flag флаг AFORK устанавливается при каждом вызове и сбрасывается при вызове . Поле ac_comm наследуется от родительского процесса и сбрасывается при . Каждый раз, когда система выделяет процессу квант времени, она также добавляет к ac_mem текущий размер процесса, вычисляемый как

(размер сегмента данных) + (размер сегмента команд) / (количество процессов в памяти, использующих этот сегмент команд)

Значение ac_mem/(ac_stime+ac_utime) может служить хорошим приближением среднего размера процесса, с учетом разделения сегмента команд.

Следующая структура используется различными командами работы с учетной информацией:

/* Общая учетная информация за некоторый период */

struct tacct { uid_t ta_uid; /* Идент. пользователя */ char ta_name[8]; /* Входное имя */ float ta_cpu[2]; /* Среднее время ЦП в минутах */ float ta_kcore[2]; /* Среднее значение килобайтоминут */ float ta_con[2]; /* Среднее астрономичес- кое время выполнения в минутах */ float ta_du; /* Суммарное использова- ние диска */ long ta_pc; /* Число процессов */ unsigned short ta_sc; /* Число сеансов раб. */ unsigned short ta_dc; /* Число дисковых прими- тивов */ unsigned short ta_fee; /* Для спец. применений */ };

СМ. ТАКЖЕ


, , .

в Справочнике пользователя.

СЮРПРИЗЫ


Значение поля ac_mem для быстро заканчивающихся команд дает мало информации о реальном размере команды.




Начало  Назад  Вперед



Книжный магазин