Для хранения учетных данных в подсистеме расширенного учета операционной Solaris используется расширяемый формат файла с версиями. Файлы с этим форматом данных можно использовать или создавать посредством API, обеспечиваемого поставляемой библиотекой libexacct (см. libexacct(3LIB)). Эти файлы затем могут быть проанализированы на любой платформе с включенным расширенным учетом, и их данные могут использоваться для планирования доступных ресурсов и гибкого управления ими.
Если активен расширенный учет, выполняется сбор статистики, которую можно исследовать с помощью интерфейса API libexacct. Библиотека libexacct позволяет исследовать файлы exacct в прямом или обратном направлении. API поддерживает файлы, генерируемые libexacct, а также файлы, создаваемые ядром. Существует также интерфейс Perl (Practical Extraction and Report Language) для libexacct, позволяющий разрабатывать собственные сценарии для создания отчетов и извлечения данных. См. Интерфейс Perl к libexacct.
Например, при включенном расширенном учете каждая задача отслеживает совокупное использование ресурсов задействованными процессами. Учетная запись задачи записывается по завершении ее выполнения. Также могут создаваться промежуточные записи по выполняемым процессам и задачам. Для получения дополнительной информации о задачах см. Глава 2Проекты и задачи (обзор).
Формат расширенного учета существенно более гибок с точки зрения расширения по сравнению со старым форматом учета системных ресурсов SunOSTM (см. What is System Accounting? в System Administration Guide: Advanced Administration). Расширенный учет позволяет добавлять и удалять метрики учета в системе – как при переходе с одной версии на другую, так и во время нормальной работы системы.
Допускается одновременное использование расширенного учета и программного обеспечения учета системных ресурсов старого образца.
Программы, допускающие создание записей exacct, служат двум целям:
возможность создания сторонних файлов exacct;
возможность создания записей маркировки, внедряемых в учетный файл ядра системным вызовом putacct (см. getacct(2)).
Системный вызов putacct также доступен из интерфейса Perl.
Формат допускает регистрацию различных форм учетных записей, причем изменения не обязательно должны представлять собой явные изменения версии. Качественные приложения, в которых используются данные учета, должны игнорировать непонятные им записи.
Для преобразования и создания файлов в формате exacct используется библиотека libexacct. Эта библиотека является единственным поддерживаемым интерфейсом к файлам формата exacct.
Системные вызовы getacct, putacct и wracct не применимы к потокам. Если настроен потоковый учет IPQoS, ядро создает записи потока и записывает их в файл.
При работе в глобальной зоне подсистема расширенного учета выполняет сбор и выдачу информации для всей системы (включая неглобальные зоны). Потребление ресурсов также может задаваться для отдельных зон глобальным администратором. Для получения дополнительной информации см. Расширенный учет в системе Solaris с установленными зонами.