НАЗВАНИЕ
sar: sa1, sa2, sadc - получение информации о функционировании системы
СИНТАКСИС
/usr/lib/sa/sadc [сек число] [вых_файл] /usr/lib/sa/sa1 [сек число] /usr/lib/sa/sa2 [-u] [-b] [-d] [-y] [-c] [-w] [-a] [-q] [-v] [-m] [-A] [-s время] [-e время] [-i сек]
ОПИСАНИЕ
Информацию о функционировании системы можно получать по
специальному запросу пользователя [см. sar(1)] или автоматически, с помощью описанных ниже программ. Операционная система имеет набор счетчиков, которые увеличиваются при выполнении некоторых системных действий.
Учитывается использование ЦП и буферов, ввод/вывод на
ленту и диск, на терминалы, переключение между процессами, выполнение системных вызовов, доступ к файлам,
работа с очередями, взаимодействие между процессами,
работа с виртуальными страницами и удаленными ресурсами.
Утилита sadc и shell-процедуры sa1 и sa2 используются для сбора, сохранения и обработки этих данных.
Утилита sadc, сборщик данных, собирает системную информацию заданное число раз через указанное количество секунд и записывает ее в двоичном виде в вых_файл или на стандартный вывод. Если аргументы сек и число опущены, выводится запись специального вида. Эта возможность используется при загрузке системы, чтобы отметить момент, когда все счетчики сбрасываются в 0. Следующая команда из файла /etc/init.d/perf
su sys -c "/usr/lib/sa/sadc /usr/adm/sa/sa`date +%d`"
записывает в ежедневный протокол специальную запись, отмечающую перезапуск системы.
Shell-процедура sa1, вариант sadc, используется для сбора и сохранения данных в двоичном виде в файле /usr/adm/sa/saдд, где дд - это текущий день. Смысл аргументов сек и число тот же, что и в случае утилиты sadc, их подразумеваемые значения равны 1. Следующие строки из файла /usr/spool/cron/crontabs/sys [см. cron(1M)]
0 * * * 0,6 /usr/lib/sa/sa1 20,40 8-17 * * 1-5 /usr/lib/sa/sa1
приводят к тому, что в рабочее время информация собирается каждые 20 минут, а в остальное время - один раз в час.
Shell-процедура sa2, вариант sar(1), записывает ежедневный отчет в файл /usr/adm/sa/sarдд. Смысл опций тот же, что и в случае sar(1). Следующая строка из файла /usr/spool/cron/crontabs/sys
5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -A
позволяет выдать все сведения о системной активности, накопленные в рабочее время.
Структура двоичного файла с ежедневной информацией такова:
struct sa { struct sysinfo si; /* См.*/ struct minfo mi; /* См. */ struct dinfo di; /* См. */ int minserve, maxserve /* Мин. и макс. загруженность исполнителя РУФ */ int szinode; /* Число элем. в табл. описателей файлов */ int szfile; /* Число элем. в табл. файлов */ int szproc; /* Число элем. в табл. процессов */ int szlckf; /* Число элем. в табл. "закрытых" файлов */ int szlckr; /* Число элем. в табл. "закрытых" записей */ int mszinode; /* Размер табл. описателей */ int mszfile; /* Размер табл. файлов */ int mszproc; /* Размер табл. процессов */ int mszlckf; /* Макс. размер табл. "закрытых" файлов */ int mszlckr; /* Макс. размер табл. "закрытых" записей */ long inodeovf;/* Число переполнений табл. описателей */ long fileovf; /* Число переполнений табл. файлов */ long procovf; /* Число переполнений табл. процессов */ time_t ts; /* Текущее время */ long devio[NDEVS][4]; /* Информация об устройствах */ #define IO_OPS 0 /* Общее число запросов на ввод/вывод */ #define IO_BCNT 1 /* Общее число переданных блоков */ #define IO_ACT 2 /* Общее время ожидания освобождения устройства (в тактах часов) */ #define IO_RESP 3 /* Общее время работы устройства по вводу/выводу (в тактах часов) */ };
ФАЙЛЫ
/usr/adm/sa/saдд Файлы с ежедневной информацией. /usr/adm/sa/sarдд Файлы с ежедневными отчетами. /tmp/sa.adrfl Файл с адресами.
СМ. ТАКЖЕ
cron(1M).
sag(1G), sar(1), timex(1) в Справочнике пользователя.