.\" -*- coding: UTF-8 -*- .\" Copyright 2006, Red Hat, Inc. .\" Copyright 2013, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH perfmonctl 2 "22 февраля 2026 г." "Linux man\-pages 6.18" .SH НАИМЕНОВАНИЕ perfmonctl \- интерфейс к блоку слежения за производительностью IA\-64 .SH СИНТАКСИС .nf \fB#include \fP \fB#include \fP .P \fBlong perfmonctl(\fPint narg; \fB int \fP\fIfd\fP\fB, int \fP\fIcmd\fP\fB, void \fP\fIarg\fP\fB[\fP\fInarg\fP\fB], int \fP\fInarg\fP\fB);\fP .fi .P \fINote\fP: There is no glibc wrapper for this system call; see HISTORY. .SH ОПИСАНИЕ Специальный системный вызов \fBperfmonctl\fP() для IA\-64 предоставляет интерфейс к PMU (блок слежения за производительностью, perfomance monitoring unit). PMU содержит регистры PMD (данные производительности, performance monitoring data) и PMC (управление слежением за производительностью, performance monitoring control), в которых собирается статистика по аппаратному обеспечению. .P Вызов \fBperfmonctl\fP() выполняет операцию \fIcmd\fP над входными аргументами, указанными в \fIarg\fP. Количество аргументов указывается в \fInarg\fP. В аргументе \fIfd\fP задаётся контекст perfmon для операции. .P Поддерживаемые значения \fIcmd\fP: .TP \fBPFM_CREATE_CONTEXT\fP .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_CREATE_CONTEXT, pfarg_context_t *\fP\fIctxt\fP\fB, 1);\fP .fi Создаёт контекст. .IP Параметр \fIfd\fP игнорируется. Создаётся новый контекст perfmon согласно \fIctxt\fP и его файловый дескриптор возвращается в \fIctxt\->ctx_fd\fP. .IP Файловый дескриптор можно использовать в последующих вызовах \fBperfmonctl\fP(), а также для чтения уведомлений о событиях (тип \fIpfm_msg_t\fP) с помощью \fBread\fP(2). Файловый дескриптор можно опрашивать с помощью \fBselect\fP(2), \fBpoll\fP(2) и \fBepoll\fP(7). .IP Контекст можно уничтожить вызвав \fBclose\fP(2), указав файловый дескриптор. .TP \fBPFM_WRITE_PMCS\fP .\" pfm_write_pmcs() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_WRITE_PMCS, pfarg_reg_t *\fP\fIpmcs\fP\fB, n);\fP .fi Назначает значения регистрам PMC. .TP \fBPFM_WRITE_PMDS\fP .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_WRITE_PMDS, pfarg_reg_t *\fP\fIpmds\fP\fB, n);\fP .fi .\" pfm_write_pmds() Назначает значения регистрам PMD. .TP \fBPFM_READ_PMDS\fP .\" pfm_read_pmds() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_READ_PMDS, pfarg_reg_t *\fP\fIpmds\fP\fB, n);\fP .fi Читает регистры PMD. .TP \fBPFM_START\fP .\" pfm_start() .nf .\" .BI "perfmonctl(int " fd ", PFM_START, arg, 1); \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_START, NULL, 0);\fP .fi Запускает слежение. .TP \fBPFM_STOP\fP .\" pfm_stop() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_STOP, NULL, 0);\fP .fi Останавливает слежение. .TP \fBPFM_LOAD_CONTEXT\fP .\" pfm_context_load() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_LOAD_CONTEXT, pfarg_load_t *\fP\fIlargs\fP\fB, 1);\fP .fi Присоединяет контекст к нити. .TP \fBPFM_UNLOAD_CONTEXT\fP .\" pfm_context_unload() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_UNLOAD_CONTEXT, NULL, 0);\fP .fi Отсоединяет контекст от нити. .TP \fBPFM_RESTART\fP .\" pfm_restart() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_RESTART, NULL, 0);\fP .fi Перезапускает слежение после приёма уведомления о переполнении. .TP \fBPFM_GET_FEATURES\fP .\" pfm_get_features() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_GET_FEATURES, pfarg_features_t *\fP\fIarg\fP\fB, 1);\fP .fi .TP \fBPFM_DEBUG\fP .\" pfm_debug() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_DEBUG, \fP\fIval\fP\fB, 0);\fP .fi Если \fIval\fP не равно нулю, то включает режим отладки, в противном случае выключает. .TP \fBPFM_GET_PMC_RESET_VAL\fP .\" pfm_get_pmc_reset() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_GET_PMC_RESET_VAL, pfarg_reg_t *\fP\fIreq\fP\fB, n);\fP .fi .\" .\" .\" .TP .\" .B PFM_CREATE_EVTSETS .\" .\" create or modify event sets .\" .nf .\" .BI "perfmonctl(int " fd ", PFM_CREATE_EVTSETS, pfarg_setdesc_t *desc , n); .\" .fi .\" .TP .\" .B PFM_DELETE_EVTSETS .\" delete event sets .\" .nf .\" .BI "perfmonctl(int " fd ", PFM_DELETE_EVTSET, pfarg_setdesc_t *desc , n); .\" .fi .\" .TP .\" .B PFM_GETINFO_EVTSETS .\" get information about event sets .\" .nf .\" .BI "perfmonctl(int " fd ", PFM_GETINFO_EVTSETS, pfarg_setinfo_t *info, n); .\" .fi Сбрасывает регистры PMC в их значения по умолчанию. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" \fBperfmonctl\fP() returns zero when the operation is successful. On error, \-1 is returned and \fIerrno\fP is set to indicate the error. .SH СТАНДАРТЫ Linux on IA\-64. .SH ИСТОРИЯ .\" commit ecf5b72d5f66af843f189dfe9ce31598c3e48ad7 Linux 2.4. Removed in Linux 5.10. .P This system call was broken for many years, and was ultimately removed in Linux 5.10. .P glibc does not provide a wrapper for this system call; on kernels where it exists, call it using \fBsyscall\fP(2). .SH "СМОТРИТЕ ТАКЖЕ" \fBgprof\fP(1) .P Спецификация интерфейса perfmon2 .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Alexey, Azamat Hackimov , kogamatranslator49 , Darima Kogan , Max Is , Yuri Kozlov и Иван Павлов . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT debian-l10n-russian@lists.debian.org списка рассылки русских переводчиков .ME .