[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Принципы управления системой: Операционная система и устройства


Обзор учета ресурсов

Утилита учета системных ресурсов позволяет собирать информацию и создавать отчеты об использовании различных ресурсов системы отдельными пользователями, группами и классами WLM.

Информация об учете ресурсов может применяться для составления счетов на оплату пользователями аренды системного времени или для отслеживания отдельных параметров работы системы. При вычислении платы за аренду процессорного времени система учета ресурсов обеспечивает вычисление итоговых объемов использования ресурсов (группой adm), и, если указана команда chargefee, применение коэффициентов к полученным значениям.

Система учета ресурсов также позволяет получить данные об оптимальности текущего распределения, набора ограничений и квот на использование ресурсов, а также позволяет предсказывать будущие требования к ресурсам и необходимые объемы расходных материалов для принтеров и других устройств.

Следующие разделы помогут вам настроить в системе учет ресурсов:

Сбор данных о системе и создание отчетов

Для запуска автоматического сбора информации пользователь из группы adm должен выполнить инструкции, приведенные в разделе "Настройка системы учета ресурсов". Эти инструкции настраивают демон cron на запуск команд, собирающих данные о следующих параметрах:

Система создает запись для каждого сеанса и обрабатывает ее после завершения сеанса. Эти записи затем преобразуются в итоговые записи учета ресурсов (tacct) для каждого из пользователей и объединяются в ежедневный отчет. Периодически ежедневные отчеты объединяются для создания итоговых отчетов за больший период времени. Способы сбора данных и создания отчетов, а также различные команды и файлы учета обсуждаются в следующих разделах.

Хотя большая часть данных учета ресурсов собирается автоматически, пользователь из группы adm для получения конкретной информации может ввести некоторые команды с клавиатуры. Эти команды перечислены в разделе Команды, запускаемые вручную.

Сбор данных учета ресурсов

Существует несколько типов данных учета ресурсов:

Эти типы данных описаны в следующих разделах.

Учет времени соединения

Данные о времени соединения собираются командами init и login. При каждом входе в систему программа login добавляет запись в файл /etc/utmp. Эта запись содержит имя пользователя, дату, время и порт входа в систему. Другие команды, например, команда who, считывают содержимое этого файла для получения информации о том, какие пользователи работают на различных дисплейных станциях. Если в системе существует файл учета /var/adm/wtmp, то команда login добавляет в него копию записи о входе в систему.

После завершения начальной программы (обычно при выходе из системы) процесс init добавляет в файл /var/adm/wtmp запись о завершении сеанса. Записи о выходе из системы отличаются от записей о входе в систему тем, что в них указано пустое имя пользователя. Формат обоих записей описан в файле utmp.h.

Кроме того, команда acctwtmp заносит в файл /var/adm/wtmp специальные записи при запуске и закрытии системы.

Дополнительная информация приведена в разделе Отчеты о времени подключения.

Учет использования ресурсов процессами

Для каждого запускаемого процесса система собирает следующие данные об использовании ресурсов:

Команда accton записывает эти данные в специальный файл, обычно /var/adm/pacct.

Связанные команды: startup, shutacct, dodisk, ckpacct и turnacct.

Дополнительная информация по этому вопросу приведена в разделе Создание отчетов об использовании ресурсов.

Учет использования диска

Большая часть информации об использовании ресурсов относится к их расходу. Команда dodisk, периодически запускаемая демоном cron, добавляет в файл /var/adm/acct/nite/dacct записи об использовании дисковой памяти каждым из пользователей. Для этого команда dodisk вызывает другие команды. В зависимости от требуемой подробности учета ресурсов, для сбора данных применяется команда diskusg или acctdusg. Для создания итоговой записи учета ресурсов применяется команда acctdisk. Итоговая запись, в свою очередь, применяется командой acctmerg для создания ежедневного отчета об использовании ресурсов.

Команда dodisk просматривает все файлы в домашних каталогах пользователей и делит стоимость каждого файла на число ссылок на него. При этом стоимость файла будет распределена между всеми пользователями, работавшими с ним. Остальные пользователи не будут вовлечены в эту процедуру.

Дополнительная информация по этому вопросу приведена в разделе Отчет об использовании дисков.

Учет использования принтеров

Данные об использовании принтеров собираются совместно командой enq и демоном работы с очередью. Команда enq ставит в очередь имя пользователя, номер задания и имя печатаемого файла. После завершения печати файла команда qdaemon добавляет в определенный файл (обычно в /var/adm/qacct) текстовую запись с именем, номером пользователя и числом напечатанных страниц. Эти записи затем можно отсортировать и преобразовать в итоговые записи учета ресурсов.

Дополнительная информация по этому вопросу приведена в разделе Отчет об использовании принтеров.

Учет оплаты

Введите команду chargefee для создания в файле /var/adm/fee итоговой записи учета ресурсов. Этот файл затем будет добавлен в дневной отчет командой acctmerg.

Дополнительная информация по этому вопросу приведена в разделе Отчет об оплате.

Создание отчетов об использовании ресурсов

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

Команды учета ресурсов автоматически преобразуют слишком большие числа в записях в экспоненциальный формат. Экспоненциальным называется следующий формат записи числа:

Мантиссаe+Порядок

Мантиссаe-Порядок

Само число при этом равно Мантиссе, умноженной на 10 в степени +Порядок или -Порядок. Например, экспоненциальная форма 1.345e+9 означает 1.345x109 или 1 345 000 000. Соответственно, число 1.345e-9 равно 1.345x10-9 или 0.000000001345.

Отчеты о времени подключения

Команда runacct вызывает команды acctcon1 и acctcon2 для сохранения в файле /var/adm/wtmp записей о входе и выходе из системы, а также записей о завершении работы системы. Команда acctcon1 преобразует эти записи в записи сеансов и заносит результат в файл /var/adm/acct/nite/lineuse. Команда acctcon2 преобразует записи сеансов в итоговую запись учета ресурсов в файле /var/adm/logacct, используемую командой acctmerg для составления ежедневных отчетов.

Для создания отчета об использовании линии связи в файле /var/adm/acct/nite/lineuse запустите команду acctcon1 из командной строки с флагом -l. Для создания отчета обо всех сеансах за указанный период в файле /var/adm/acct/nite/reboots введите команду acctcon1 с флагом -o.

Команда lastlogin создает отчет о дате последнего входа в систему каждого из пользователей.

Отчеты об использовании ресурсов процессами

Для обработки данных, сохраненных в файле /var/adm/pacct или каком-либо другом файле, служат две команды. Команда acctprc1 преобразует ИД в имена пользователей и создает текстовые записи об использовании различных ресурсов (использование процессорного времени, средний объем памяти, объем данных ввода-вывода). Команда acctprc2 преобразует эти записи в итоговые записи учета ресурсов, которые добавляются к ежедневному отчету командой acctmerg.

Кроме того, учет ресурсов процессов позволяет получить информацию об использовании ресурсов различными командами. Для создания таких отчетов служит команда acctcms. При запуске этой команды будет показано, сколько раз была запущена каждая команда, сколько памяти и времени процессора потребовалось на ее выполнение, и насколько интенсивно использовались при этом ресурсы (величина hog factor). Команда acctcms накапливает статистическую информацию, такую как полный объем использованных ресурсов и частоту запуска отдельных команд, за длительный период времени.

Команда acctcom обрабатывает те же данные, что и команда acctcms, но выводит подробную информацию о процессах. Вы можете просматривать все записи учета ресурсов для процесса или выбрать только часть из них. Критерий выбора может учитывать использование процессора, время завершения, команду запуска, пользователя, группу и порт процесса. В отличие от прочих команд учета ресурсов, команду acctcom может запустить любой пользователь.

Отчет об использовании дисков

Записи об использовании дисковой памяти, собранные в файле /var/adm/acct/nite/dacct, добавляются в ежедневный отчет командой acctmerg.

Отчет об использовании принтеров

Текстовые записи файла /var/adm/qacct могут быть преобразованы в итоговые записи учета ресурсов и добавлены в ежедневный отчет командой acctmerg.

Отчет об оплате

При выполнении команды chargefee, создающей счета за такие услуги, как восстановление файлов, консультации и использование расходных материалов, в файле /var/adm/fee создаются текстовые записи учета ресурсов. Этот файл добавляется в дневной отчет командой acctmerg.

Ежедневные отчеты

Исходные данные учета времени соединения, использования дисков, принтеров, а также сведения для создания счетов, объединяются в ежедневные отчеты командой acctmerg. Команда runacct ежедневно вызывает команду acctmerg, которая создает следующие файлы:

/var/adm/acct/nite/dacct Промежуточный отчет, создаваемый при переполнении одного из входных файлов.
/var/adm/acct/sum/tacct Совокупный итоговый отчет в формате tacct. Этот файл применяется командой monacct для создания текстового итогового отчета за месяц.

Команда acctmerg преобразует записи из текстового формата в двоичный и обратно, и объединяет записи из различных источников в единую запись для каждого пользователя.

Ежемесячные отчеты

Команда monacct вызывается демоном cron и создает следующие файлы:

/var/adm/acct/fiscal Итоговый отчет за весь период, создаваемый командой monacct из отчета /var/adm/acct/sum/tacct. Команда monacct может быть настроена на запуск один раз в месяц или в конце каждого отчетного периода.

Команды учета ресурсов

Команды учета ресурсов выполняют несколько различных задач. Примеры задач, выполняемых различными командами:

Автоматически выполняемые команды

Демон cron автоматически запускает несколько команд сбора данных об учете ресурсов:

runacct Выполняет главную процедуру дневного учета ресурсов. Команда runacct обычно запускается демоном cron в нерабочие часы и вызывает другие команды учета ресурсов для обработки файлов данных и создания итоговых записей учета ресурсов и команд, отсортированных по имени пользователя. Кроме того, эта команда вызывает команду acctmerg для создания итоговых файлов дневного отчета, и команду ckpacct для обслуживания файлов данных о работе системы.
ckpacct Ограничивает размер файла pacct. Обычно бывает удобно иметь несколько небольших файлов pacct, поскольку иногда возникает необходимость перезапустить процедуру runacct после сбоя при обработке записей. Команда ckpacct проверяет размер файла данных о работе системы /var/adm/pacct и, если размер превышает 500 блоков, вызывает команду turnacct switch для временного выключения учета ресурсов процессов. Данные перемещаются в новый файл pacct, /var/adm/pacct x. (x - целое число, увеличивающееся при каждом создании нового файла pacct). Если количество свободных блоков на диске становится меньше 500, то команда ckpacct выключает учет ресурсов процессов с помощью команды turnacct off.
dodisk Вызывает команду acctdisk, затем diskusg или acctdusg для создания записей учета использования дисковой памяти в файле /var/adm/acct/nite/dacct. Затем эти данные объединяются в дневные отчеты.
monacct Создает из дневных отчетов отчет за больший промежуток времени.
sa1 Собирает и сохраняет двоичные данные в файле /var/adm/sa/sa dd, где dd - текущее число месяца.
sa2 Записывает ежедневный отчет в файл /var/adm/sa/sadd, где dd - текущее число месяца. Удаляет отчеты из файлов /var/adm/sa/sadd, созданных более недели назад.

Приведенные ниже команды также запускаются автоматически, но не демоном cron:

startup Команда startup должна быть добавлена в файл /etc/rc. Эта команда выполняет процедуры запуска системы учета ресурсов.
shutacct Вызывает команду acctwtmp для записи в файл /var/adm/wtmp строки о прекращении учета ресурсов. Затем вызывает команду turnacct off для выключения учета ресурсов.

Команды, запускаемые вручную

Пользователь из группы adm может выполнить следующие команды учета ресурсов:

ac Печатает записи о времени соединения. Эта команда добавлена для совместимости с системами BSD.
acctcom Показывает итоговые записи учета ресурсов для процессов. Эта команда доступна всем пользователям.
acctcon1 Показывает итоговые записи учета ресурсов о времени соединения. Необходимо указать флаг -l или -o.
accton Включает и выключает учет ресурсов для процессов.
chargefee Создает для указанного пользователя счет для оплаты использованного количества единиц работы. Эти счета добавляются к ежедневному отчету командой acctmerg.
fwtmp Преобразует файлы между двоичным и текстовым форматами.
last Показывает информацию о предыдущих входах в систему. Эта команда добавлена для совместимости с системами BSD.
lastcomm Показывает информацию о последних выполненных командах. Эта команда добавлена для совместимости с системами BSD.
lastlogin Показывает время последнего входа в систему для каждого пользователя.
pac Подготавливает записи учета ресурсов принтера или графопостроителя. Эта команда добавлена для совместимости с системами BSD.
prctmp Показывает запись для сеанса.
prtacct Показывает итоговые файлы учета ресурсов.
sa Объединяет исходную информацию учета ресурсов для упрощения управления большими объемами данных. Эта команда добавлена для совместимости с системами BSD.
sadc Создает отчет о различных действиях в локальной системе, например, о работе с буфером, дисками, магнитной лентой, терминалами и файлами.
sar Записывает в стандартный вывод содержимое некоторых счетчиков деятельности операционной системы. Команда sar создает отчет только о локальной системе.
time Печатает полное, пользовательское и системное время выполнения команды.
timex Показывает затраченное, пользовательское время и время выполнения команды в секундах.

Файлы учета ресурсов

Система учета ресурсов работает со следующими основными каталогами: /usr/sbin/acct, в котором находятся все программы на языке C и процедуры оболочки, необходимые для работы этой системы, и /var/adm, в котором хранятся данные, отчеты и итоговые файлы.

Файлы с данными учета ресурсов принадлежат группе adm; все файлы данных о работе системы (такие как wtmp и pacct) находятся в домашнем каталоге этой группы, /var/adm.

Файлы данных

В каталоге /var/adm хранятся следующие файлы:

/var/adm/diskdiag Диагностическая информация, создаваемая программами учета дисковых ресурсов.
/var/adm/dtmp Вывод команды acctdusg.
/var/adm/fee Вывод команды chargefee в виде текстовых записей в формате tacct.
/var/adm/pacct Файл учета ресурсов активных процессов.
/var/adm/wtmp Файл учета ресурсов активных процессов.
/var/adm/Spacct .mmdd Файлы учета ресурсов процессов за указанный месяц и день (mmdd), созданные командой runacct.

Файлы отчетов и итоговые файлы

Файлы отчетов и итоговые файлы создаются в каталоге /var/adm/acct. Перед включением системы учета ресурсов должны быть созданы перечисленные ниже каталоги. Дополнительная информация приведена в разделе "Настройка системы учета ресурсов".

/var/adm/acct/nite Содержит файлы, ежедневно обновляемые командой runacct.
/var/adm/acct/sum Содержит итоговые файлы, ежедневно обновляемые командой runacct.
/var/adm/acct/fiscal Содержит файлы учета ресурсов за месяц, создаваемые командой monacct.

Файлы, создаваемые командой runacct

Ниже описаны некоторые файлы отчетов и итоговые файлы, создаваемые командой runacct:

/var/adm/acct/nite/lineuse Статистика использования ресурсов для каждой линии связи с терминалом. Этот отчет особенно полезен при диагностике неполадок в линиях связи. Если отношение количества операций выхода из систему к количеству операций входа в систему превышает 3:1, то, велика вероятность повреждения линии связи.
/var/adm/acct/nite/daytacct Итоговый файл учета ресурсов за предыдущий день.
/var/adm/acct/sum/tacct Содержит информацию, полученную из создаваемых ежедневно файлов nite/daytacct; применяется для создания счетов. Команда monacct очищает этот файл каждый месяц или в конце заданного отчетного периода.
/var/adm/acct/sum/cms Содержит информацию, полученную из создаваемых ежедневно итоговых файлов. Команда monacct считывает и очищает двоичную версию этого файла. Текстовая версия хранится в файле nite/cms.
/var/adm/acct/sum/daycms Содержит дневной отчет об использовании команд. Текстовая версия этого файла хранится в nite/daycms.
/var/adm/acct/sum/loginlog Содержит запись о последнем применении ИД пользователя.
/var/adm/acct/sum/rprt mmdd Содержит копию дневного отчета, созданного командой runacct.

Файлы в каталоге /var/adm/acct/nite


active Применяется командой runacct для сохранения состояний, предупреждений и сообщений об ошибках. Файл active. mmdd - это копия файла active, создаваемая командой runacct при обнаружении ошибки.
cms Содержит итоговую текстовую информацию об использовании команд, применяемую командой prdaily.
ctacct.mmdd Итоговые записи учета ресурсов времени соединения.
ctmp Записи о соединении для сеансов.
daycms Содержит итоговую текстовую информацию об использовании команд за день, применяемую командой prdaily.
daytacct Итоговые записи учета ресурсов за день.
dacct Итоговые записи учета ресурсов дисковой памяти, созданные командой dodisk.
accterr Диагностический вывод, созданный при выполнении команды runacct.
lastdate Дата последнего выполнения команды runacct в формате date +%m%d.
lock1 Применяется для управления доступом к команде runacct.
lineuse Отчет об использовании линий терминалов, применяемый командой prdaily.
log Диагностический вывод команды acctcon1.
logmmdd Совпадает с файлом log на момент обнаружения ошибки командой runacct.
reboots Содержит начальные и конечные даты из файла wtmp, а также список с указанием моментов перезапуска системы.
statefile Применяется для записи текущего состояния при работе команды runacct.
tmpwtmp Файл wtmp, исправленный командой wtmpfix.
wtmperror Содержит сообщения об ошибках wtmpfix.
wtmperrmmdd Совпадает с файлом wtmperror на момент обнаружения ошибки командой runacct.
wtmp.mmdd Файл wtmp за предыдущий день. Этот файл удаляется при очистке командой runacct.

Файлы в каталоге /var/adm/acct/sum


cms Итоговый файл учета использования команд за текущий отчетный период, в двоичном формате.
cmsprev Совпадает с итоговым файлом учета использования команд, за исключением последнего обновления.
daycms Итоговый файл учета использования команд за предыдущий день, в двоичном формате.
lastlogin Файл, создаваемый командой lastlogin.
pacct.mmdd Объединенная версия всех файлов pacct за указанную дату mmdd. Этот файл удаляется командой remove во время запуска системы.
rprtmmdd Сохраненный вывод команды prdaily.
tacct Итоговый файл учета ресурсов за текущий отчетный период.
tacctprev Совпадает с файлом tacct, за исключением последнего обновления.
tacctmmdd Итоговый файл учета ресурсов за mmdd.

Файлы в каталоге /var/adm/acct/fiscal


cms? Итоговый файл с информацией об использовании команд за отчетный период, задаваемый символом ?, в двоичном формате.
fiscrpt? Отчет, аналогичный создаваемому командой prdaily, но за отчетный период, задаваемый символом ?, в двоичном формате.
tacct? Итоговый файл учета ресурсов за определенный период, задаваемый символом ?, в двоичном формате.

Формат файлов учета ресурсов

Ниже приведено описание форматов вывода и файлов учета ресурсов:

wtmp Файл учета ресурсов для активных процессов. Формат файла wtmp описан в файле utmp.h.
ctmp Записи о времени соединения. Формат вывода описан в файле ctmp.h.
pacct* Записи учета ресурсов для активных процессов. Формат вывода описан в файле /usr/include/sys/acct.h.
Spacct* Записи учета ресурсов процессов за указанную дату (mmdd), созданные командой runacct. Формат описан в файле sys/acct.h.
daytacct Итоговые записи учета ресурсов за день. Файл записывается в формате tacct.
sum/tacct Двоичный файл с информацией, полученной из итоговых записей учета использования команд за каждый день. Формат описан в файле /usr/include/sys/acct.h.
ptacct Объединенная версия файлов pacct. Файл записывается в формате tacct.
ctacct Итоговые записи учета ресурсов о времени соединения. Файл записывается в формате tacct.
cms Итоговые записи учета использования команд, применяемые командой prdaily, в двоичном формате. Текстовая версия хранится в файле nite/cms.
daycms Итоговый файл учета использования команд за день, применяемый командой prdaily, в двоичном формате. Текстовая версия хранится в файле nite/daycms.


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]