Статистика отдельного логического процессора

Статистика отдельного логического процессора предоставляет информацию о каждом логическом процессоре. В сценарии Vue каждая статистика задается в следующем формате:
__stat.cpu.cpuX->имя-поля
где cpuX - экземпляр CPU, к примеру cpu0 или cpu1, а имя-поля - идентификатор статистического показателя. Эти поля аналогичны полям структуры perfstat_cpu_total_t, которая определяется в файле заголовка /usr/include/libperfstat.h. Этот файл заголовка входит в библиотеку perfstat AIX.
Табл. 1. Поддерживаемые поля ProbeVue для статистики отдельного логического процессора
Имя поля сценария Vue Тип данных Описание
user unsigned long long Исходное количество тактов синхронизации, потраченных в пользовательском режиме.
sys unsigned long long Исходное количество тактов синхронизации, потраченных в системном режиме.
простой unsigned long long Исходное количество тактов синхронизации, потраченных в режиме бездействия.
wait unsigned long long Исходное количество тактов синхронизации, затраченных на ожидание завершения операций ввода-вывода. 
pswitch unsigned long long Число переключений контекста.
syscall unsigned long long Количество системных вызовов.
sysread unsigned long long Количество системных вызовов чтения.
syswrite unsigned long long Количество системных вызовов записи.
sysfork unsigned long long Число системных вызовов fork.
sysexec unsigned long long Количество системных вызовов exec.
readch unsigned long long Число символов, переданных с помощью системных вызовов чтения.
writech unsigned long long Число символов, переданных с помощью системных вызовов записи.
bread unsigned long long Число прочитанных блоков
bwrite unsigned long long Число записанных блоков
lread unsigned long long Число запросов на логическое чтение.
lwrite unsigned long long Число запросов на логическую запись.
phread unsigned long long Число физических операций чтения, то есть, операций чтения на устройствах с линейным доступом.
phwrite unsigned long long Число физических операций записи, то есть, операций записи на устройствах с линейным доступом.
iget unsigned long long Число операций поиска inode.
namei unsigned long long Число операций поиска vnode по пути.
dirblk unsigned long long Число 512-байтовых блоков, прочитанных процедурой поиска в каталоге для нахождения записи файла.
msg unsigned long long Число операций для сообщений Inter Process Communication (IPC).
sema unsigned long long Число операций для семафоров IPC.
minfaults unsigned long long Число страничных ошибок без участия подсистемы ввода-вывода.
majfaults unsigned long long Число страничных ошибок с участием подсистемы ввода-вывода.
puser unsigned long long Число тактов физического процессора, потраченных в пользовательском режиме.
psys unsigned long long Число тактов физического процессора, потраченных в системном режиме.
pidle unsigned long long Число тактов физического процессора, потраченных в режиме бездействия.
pwait unsigned long long Число тактов физического процессора, затраченных на ожидание операций ввода-вывода.
redisp_sd0 unsigned long long Число повторных диспетчеризаций нитей в пределах домена привязки планировщика 0.
redisp_sd1 unsigned long long Число повторных диспетчеризаций нитей в пределах домена привязки планировщика 1.
redisp_sd2 unsigned long long Число повторных диспетчеризаций нитей в пределах домена привязки планировщика 2.
redisp_sd3 unsigned long long Число повторных диспетчеризаций нитей в пределах домена привязки планировщика 3.
redisp_sd4 unsigned long long Число повторных диспетчеризаций нитей в пределах домена привязки планировщика 4.
redisp_sd5 unsigned long long Число повторных диспетчеризаций нитей в пределах домена привязки планировщика 5.
migration_push unsigned long long Число миграций нитей из локальной очереди выполнения в другую очередь из-за исчерпания ресурсов для распределения нагрузки.
migration_S3grq unsigned long long Число миграций нитей из глобальной очереди выполнения в локальную, приводящих к перемещению за пределы домена планировщика 3.
migration_S3pul unsigned long long Число миграций нитей из другой очереди выполнения процессора, приводящих к перемещению за пределы домена планировщика 3.
invol_cswitch unsigned long long Число принудительных переключений контекста нитей.
vol_cswitch unsigned long long Число запланированных переключений контекста нитей.
runque unsigned long long Число нитей в очереди выполнения.
bound unsigned long long Число нитей привязки.
decrintrs unsigned long long Число прерываний декрементного счетчика.
mpcrintrs unsigned long long Число прерываний Multi-Processor Communication (MPC) receive.
mpcsintrs unsigned long long Число прерываний MPC send
devintrs unsigned long long Число прерываний устройств.
softintrs unsigned long long Число вызовов внеуровневых обработчиков.
phantintrs unsigned long long Число фантомных прерываний.
idle_donated_purr unsigned long long Число циклов бездействия, передаваемых выделенным разделом, в котором разрешена такая передача.
idle_donated_spurr unsigned long long Число циклов бездействия SPURR, передаваемых выделенным разделом, в котором разрешена такая передача.
busy_donated_purr unsigned long long Число занятых циклов, переданных выделенным разделом, в котором разрешена такая передача.
busy_donated_spurr unsigned long long Число занятых циклов SPURR, переданных выделенным разделом, в котором разрешена такая передача.
idle_stolen_purr unsigned long long Число циклов бездействия, отнятых гипервизором у выделенного раздела.
idle_stolen_spurr unsigned long long Число циклов бездействия SPURR, отнятых гипервизором у выделенного раздела.
busy_stolen_purr unsigned long long Число занятых циклов, отнятых гипервизором у выделенного раздела.
busy_stolen_spurr unsigned long long Число занятых циклов SPURR, отнятых гипервизором у выделенного раздела.
hpi unsigned long long Число операций подкачки в оперативную память гипервизора.
puser_spurr unsigned long long Число циклов SPURR, затраченных в пользовательском режиме.
psys_spurr unsigned long long Число циклов SPURR, затраченных в режиме ядра.
pidle_spurr unsigned long long Число циклов SPURR, затраченных в режиме бездействия.
pwait_spurr unsigned long long Число циклов SPURR, затраченных в режиме ожидания.
spurrflag int Это поле устанавливается, если CPU работает в режиме SPURR.
localdispatch unsigned long long Число диспетчеризаций локальных нитей в логическом процессоре.
neardispatch unsigned long long Число диспетчеризаций ближних нитей в логическом процессоре.
fardispatch unsigned long long Число диспетчеризаций дальних нитей в логическом процессоре.
cswitches unsigned long long Число переключений контекста.
state int Указывает, доступен ли процессор. Нулевое значение в поле state означает, что процессор недоступен, все остальные значения говорят о том, что он доступен.
tb_last unsigned long long Последнее прочитанное значение регистра timebase.
vtb_last unsigned long long Последнее прочитанное значение виртуального timebase.
icount_last unsigned long long Последнее прочитанное значение регистра счетчика инструкций.
Прим.: Для следующих элементов требуется доступ к памяти без закрепления: pswitch, syscall, sysread, syswrite, sysfork, sysexec, readch, writech, bread, bwrite, lread, lwrite, phread, phwrite, iget, namei, dirblk, msg, sema, decrintrs, mpcrintrs, mpcsintrs, devintrs, softintrs, phantintrs. Поскольку тесты сценариев ProbeVue выполняются в среде, где все прерывания выключены, то в случае отсутствия необходимых данных в резидентной памяти элементам, требующим доступ без закрепления, присваивается значение 0.