'\" t .\" Title: readprofile .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.20 .\" Date: 2024-04-27 .\" Manual: Керування системою .\" Source: util-linux 2.40 .\" Language: English .\" .TH "READPROFILE" "8" "2024-04-27" "util\-linux 2.40" "Керування системою" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "НАЗВА" readprofile \- витання даних профілювання ядра .SH "КОРОТКИЙ ОПИС" .sp \fBreadprofile\fP [options] .SH "ВЕРСІЯ" .sp На цій сторінці підручника описано версію 2.0 програми. .SH "ОПИС" .sp Програма \fBreadprofile\fP використовує відомості \fI/proc/profile\fP для виведення даних ascii до стандартного виведення. Виведені дані буде поділено між трьома стовпчиками: у першому буде виведено такти годинника, у другому \- назву функції C у ядрі, у якій відбулася ця кількість тактів, а у третьому \- нормалізоване «навантаження» процедури, обчислене, як відношення кількості тактів до довжини процедури. Виведені дані буде доповнено пробілами для полегшення читання. .SH "ПАРАМЕТРИ" .sp \fB\-a\fP, \fB\-\-all\fP .RS 4 Вивести усі символи у файлі карти. Типово, процедури із повідомленими позначками виведено не буде. .RE .sp \fB\-b\fP, \fB\-\-histbin\fP .RS 4 Вивести окремі значення позначок гістограми . .RE .sp \fB\-i\fP, \fB\-\-info\fP .RS 4 Відомості. Наказує \fBreadprofile\fP лише вивести крок профілювання, який використано ядром. Крок профілювання є роздільністю буфера профілювання. Його вибір відбувається під час налаштовування ядра (за допомогою \fBmake config\fP) або у рядку команди ядра. Якщо використано перемикач \fB\-t\fP (terse) разом із \fB\-i\fP, буде виведено лише десяткове число. .RE .sp \fB\-m\fP, \fB\-\-mapfile\fP \fIфайл\-карти\fP .RS 4 Вказати файл карти, типовим є \fI/usr/src/linux/System.map\fP. Вам слід вказати файл карти у рядку команди, якщо ваше поточне ядро не є останнім ядром, яке ви зібрали, або якщо ви зберігаєте ваш System.map у якомусь нестандартному місці. Якщо назва файла карти завершується на \fI.gz\fP, його вміст буде розпаковано на льоту. .RE .sp \fB\-M\fP, \fB\-\-multiplier\fP \fIмножник\fP .RS 4 На деяких архітектурах можна змінювати частоту, з якою ядро надсилає переривання профілювання до кожного з процесорів. За допомогою цього параметра ви можете встановити частоту, як коефіцієнт частоти годинника системи, у Гц. У Linux 2.6.16 відкинуто підтримку коефіцієнта у більшості систем. Цей параметр також скидає буфер профілювання. Його використання потребує привілеїв надкористувача. .RE .sp \fB\-p\fP, \fB\-\-profile\fP \fIфайл\-профілювання\fP .RS 4 Вказати інший буфер профілювання, типовим є \fI/proc/profile\fP. Використання іншого профілю є корисним, якщо ви хочете «заморозити» профілювання ядра у певний момент часу і прочитати його пізніше. Файл \fI/proc/profile\fP може бути скопійовано за допомогою \fBcat\fP(1) або \fBcp\fP(1). Підтримки стиснених буферів профілювання, подібних до передбачених у \fBreadprofile\-1.1\fP, не передбачено, оскільки програмі потрібно буде наперед знати розмір буфера. .RE .sp \fB\-r\fP, \fB\-\-reset\fP .RS 4 Скинути буфер профілювання. Цю команду може бути викликано лише від імені root, оскільки читання \fI/proc/profile\fP може здійснювати будь\-який користувач, а запис \- лише надкористувач. Втім, ви можете встановити для \fBreadprofile\fP set\-user\-ID 0, щоб скинути буфер без набуття додаткових прав доступу. .RE .sp \fB\-s, \-\-counters\fP .RS 4 Вивести значення окремих лічильників у функціях. .RE .sp \fB\-v\fP, \fB\-\-verbose\fP .RS 4 Докладний режим. Виведені дані буде упорядковано за чотирма стовпчиками і доповнено пробілами. У першому стовпчику буде показано адресу функції ядра в оперативній пам\(cqяті, у другому \- назву функції, у третьому \- кількість тактів годинника, а в останньому \- нормалізоване навантаження. .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 Вивести текст довідки і завершити роботу. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 Вивести дані щодо версії і завершити роботу. .RE .SH "ФАЙЛИ" .sp \fI/proc/profile\fP .RS 4 Двійковий знімок буфера профілювання. .RE .sp \fI/usr/src/linux/System.map\fP .RS 4 Таблиця символів для ядра. .RE .sp \fI/usr/src/linux/*\fP .RS 4 Програма, профілювання якої виконується :\-) .RE .SH "ВАДИ" .sp \fBreadprofile\fP only works with a 1.3.x or newer kernel, because \fI/proc/profile\fP changed in the step from 1.2 to 1.3. .sp Ця програма працює лише з ядрами ELF. Зміна для ядер a.out є тривіальною, її може без проблем виконати користувач a.out. .sp Щоб увімкнути профілювання, ядро має бути перезавантажено, оскільки не буде доступним модуль профілювання, а зібрати його не просто. Для вмикання профілювання ви можете вказати \fBprofile\fP=\fI2\fP (або інше число) у рядку команди ядра. Вказане вами число має бути степенем двійки, який буде використано як крок профілювання. .sp Профілювання вимкнено, якщо заборонено переривання. Це означає, що відбудеться багато тактів профілювання, коли переривання буде повторно увімкнено. Остерігайтеся помилкових даних. .SH "ПРИКЛАД" .sp Навігація буфером профілювання, який упорядковано за тактами годинника: .sp .if n .RS 4 .nf .fam C readprofile | sort \-nr | less .fam .fi .if n .RE .sp Вивести 20 найбільш завантажуваних процедур: .sp .if n .RS 4 .nf .fam C readprofile | sort \-nr +2 | head \-20 .fam .fi .if n .RE .sp Вивести лише профіль файлової системи: .sp .if n .RS 4 .nf .fam C readprofile | grep _ext2 .fam .fi .if n .RE .sp Шукати в усіх даних ядра із адресами в оперативній пам\(cqяті: .sp .if n .RS 4 .nf .fam C readprofile \-av | less .fam .fi .if n .RE .sp Навігація «замороженим» буфером профілювання для ядра, відмінного від поточного: .sp .if n .RS 4 .nf .fam C readprofile \-p ~/profile.freeze \-m /zImage.map.gz .fam .fi .if n .RE .sp Надіслати запит щодо профілювання при 2кГц на процесор і скинути вміст буфера профілювання: .sp .if n .RS 4 .nf .fam C sudo readprofile \-M 20 .fam .fi .if n .RE .SH "ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ" .sp Для звітування щодо вад скористайтеся системою стеження за вадами \- \c .URL "https://github.com/util\-linux/util\-linux/issues" "" "." .SH "ДОСТУП ДО ПРОГРАМИ" .sp Програма \fBreadprofile\fP є частиною пакунка util\-linux, який можна отримати з \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "архіву ядра Linux" "."