.\" -*- coding: UTF-8 -*- '\" t .\" Title: readprofile .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.15 .\" Date: 2022-05-11 .\" Manual: System Administration .\" Source: util-linux 2.38.1 .\" Language: English .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH READPROFILE 8 "11 травня 2022 року" "util\-linux 2.38.1" "Керування системою" .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 [параметри] .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). Підтримки стиснених буферів профілювання, подібних до передбачених у *readprofile\-1.1*, не передбачено, оскільки програмі потрібно буде наперед знати розмір буфера. .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 Докладний режим. Виведені дані буде упорядковано за чотирма стовпчиками і доповнено пробілами. У першому стовпчику буде показано адресу функції ядра в оперативній пам'яті, у другому — назву функції, у третьому — кількість тактів годинника, а в останньому — нормалізоване навантаження. .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 працює лише з ядром 1.3.x та новішими ядрами, оскільки \fI/proc/profile\fP було змінено десь між версіями 1.2 та 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 Шукати в усіх даних ядра із адресами в оперативній пам'яті: .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 Для звітування про вади використовуйте систему стеження помилками на .URL https://github.com/util\-linux/util\-linux/issues "" . .SH ДОСТУПНІСТЬ .sp \fBreadprofile\fP є частиною пакунка util\-linux, який можна отримати з .URL https://www.kernel.org/pub/linux/utils/util\-linux/ "Linux Kernel Archive" . .PP .SH ПЕРЕКЛАД Український переклад цієї сторінки посібника виконано Yuri Chornoivan . .PP Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE . НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ. .PP Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: .MT trans-uk@lists.fedoraproject.org .ME .