Це команда blkparse, яку можна запустити в безкоштовному хостинг-провайдері OnWorks за допомогою однієї з наших безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
blkparse - створювати відформатований вихід потоків подій блокових пристроїв
СИНТАКСИС
blkparse [ опції ]
ОПИС
Команда blkparse утиліта спробує об’єднати потоки подій для різних пристроїв на
різних процесорів і створювати відформатований вихід інформації про подію. Зокрема це
візьме (машиночитаний) результат blktrace утиліту та перетворити її на nicely
відформатована та зрозуміла людині форма.
Як і в випадку blktrace, деякі подробиці щодо blkparse допоможе зрозуміти команду
Варіанти лінії представлені нижче.
- За замовчуванням, blkparse очікує виконання в режимі постобробки; той, де слід
події були збережені попереднім запуском blktrace, і blkparse об’єднує подію
потоків і скидання відформатованих даних.
blkparse можна запускати в реальному часі одночасно з blktrace, вказавши -i - до
blkparse та поєднання його з опцією live для blktrace. Прикладом може бути:
% blktrace -d /dev/sda -o - | blkparse -i -
- Ви можете встановити, скільки подій blkparse пакетів читає через -b параметр, за замовчуванням це
обробляти події пакетами по 512.
- Якщо ви зберегли трасування подій у blktrace з іншими вихідними іменами (через -o
для blktrace), ви повинні вказати те саме ім’я введення через -i варіант.
- Форматом вихідних даних можна керувати за допомогою -f or -F параметри -- див. ВИВІД
ОПИС ТА ФОРМАТУВАННЯ для деталей.
За замовчуванням blkparse надсилає форматовані дані на стандартний вивід. Це можна змінити за допомогою
-o або вихід тексту можна вимкнути за допомогою -O варіант. Об’єднаний бінарний потік може бути
виготовлені з використанням -d варіант.
ВАРІАНТИ
-A шестигранна маска
--set-mask=шестигранна маска
Установіть маску фільтра шестигранна маскадив. blktrace (8) для масок
-a маска
--act-mask=маска
додавати маска до поточного фільтра, див. blktrace (8) для масок
-D реж
--input-directory=реж
Попередньо реж для введення імен файлів
-b партія
--batch={пакет}
Пакетування стандартного введення для читання
-i файл
--вхід=файл
Вказує основне ім'я для вхідних файлів -- за замовчуванням пристрій.blktrace.центральний процесор.
Як зазначалося вище, уточнюючи -i - працює в режимі реального часу з blktrace (читання даних з
стандарт в).
-F typ,fmt
--формат=typ,fmt
-f fmt
--format-spec=fmt
Встановлює вихідний формат (додаткову інформацію див. у розділі ОПИС ТА ФОРМАТУВАННЯ ВИВЕДЕННЯ).
Форма -f визначає формат для всіх подій
Форма -F дозволяє вказати формат для певного типу події. The
односимвольне тип поле є одним із специфікаторів дії, описаних у ACTION
ІДЕНТИФІКАТОРИ.
-M
--no-msgs
Якщо вказано -d, це припинить виведення повідомлень у файл. (Може
серйозно зменшити розмір результуючого файлу при використанні планувальника введення-виведення CFQ.)
-h
--хеш-за-ім'ям
Хешуйте процеси за назвою, а не за PID
-o файл
--вихід=файл
Вихідний файл
-O
--no-text-output
Do НЕ створити текстовий вихід, який використовується для двійкового (-d) лише
-d файл
--dump-binary=файл
Двійковий вихідний файл
-q
--спокійно
Тихий режим
-s
--per-program-stats
Відображає дані, відсортовані за програмою
-t
--track-ios
Відображення дельти часу на IO
-w span
--секундомір=span
Відображення слідів для span визначено -- де span може бути:
час закінчення -- Відображати сліди від часу 0 до час закінчення (в нс)
or
початок:кінець -- Показати сліди часу старт через кінцевий час (у нс).
-v
-багатослівний
Більш багатослівний граничний на граничних помилках
-V
-- версія
Версія дисплея
СЛІД ДІЇ
Розпізнаються наступні дії трасування:
C -- повний Попередній запит виконано. На виході буде детально описано
сектор і розмір цього запиту, а також його успішність чи невдача.
D -- випущений Запит, який раніше перебував у черзі рівня блоку або в системі введення/виведення
планувальник надіслано драйверу.
I -- вставлено Запит надсилається до планувальника введення/виведення для додавання до внутрішнього
черга і згодом обслуговування водієм. На даний момент заявка повністю сформована.
Q -- у черзі Це зазначає про намір поставити в чергу вводу-виводу у вказаному місці. Реальних запитів немає
поки немає.
B -- відскочив Сторінки даних, додані до цього біо недоступні апаратним забезпеченням і
має бути перекинуто в нижчу область пам’яті. Це спричиняє велике уповільнення введення/виведення
продуктивність, оскільки дані повинні бути скопійовані в/з буферів ядра. Зазвичай це може бути
виправлено за допомогою кращого апаратного забезпечення - або кращого контролера вводу/виводу, або платформи з
IOMMU.
M -- назад злиття Існує попередньо вставлений запит, який закінчується на межі де
цей ввід/вивід починається, тому планувальник вводу/виводу може об’єднати їх разом.
F -- перед злиття Те саме, що й зворотне злиття, за винятком того, що цей ввід/вивід закінчується там, де попередньо вставлено
починається запит.
M -- перед or назад злиття Одне з перерахованих вище
M -- перед or назад злиття Один з перерахованих вище.
G -- отримати запросити Щоб надіслати будь-який тип запиту на блоковий пристрій, a структура запросити контейнер
повинні бути виділені першими.
S -- сон Немає доступних структур запиту, тому емітент повинен зачекати
одного звільнити.
P -- штекер Коли введення/виведення поставлено в чергу до попередньо порожньої черги блокових пристроїв, Linux підключить його
черги в очікуванні майбутнього додавання ios до того, як ці дані знадобляться.
U -- відключіть Деякі дані запиту вже в черзі на пристрої, почніть надсилати запити на
водій. Це може статися автоматично, якщо минув період очікування (див. наступний запис)
або якщо до черги додано кілька запитів.
T -- відключіть два до таймер Якщо ніхто не запитує введення/виведення, яке було поставлено в чергу після підключення
черги, Linux автоматично від’єднає його після закінчення визначеного періоду.
X -- розкол У налаштуваннях рейду або відображення пристроїв вхідний вхід/вивід може охоплювати пристрій або
внутрішньої зони, і його потрібно подрібнити на дрібніші частини для обслуговування. Це може
вказують на проблему продуктивності через погане налаштування цього пристрою raid/dm, але також можуть
просто бути частиною нормальних граничних умов. dm дуже погано справляється з цим і буде клонувати
багато введення/виведення.
A -- перепризначити Для пристроїв зі стеком вхідний ввід/вивід перепризначається на пристрій під ним у вводі/виводі
стек. Дія перепризначення деталізує, що саме на що перепризначається.
ВИХІД ОПИС І ФОРМАТУВАННЯ
Вихідні дані blkparse можна налаштувати для конкретного використання, зокрема, для полегшення
розбір виведення та/або обмеження полів виводу тими, які бажає бачити користувач. Дані для
поля, які можна вивести, включають:
a Дія, (маленький) рядок (1 або 2 символи) -- див. таблицю нижче для отримання додаткової інформації
c ідентифікатор процесора
C Command
d Поле RWBS, (маленький) рядок (1-3 символи) -- див. розділ нижче для отримання додаткової інформації
D 7-символьний рядок, що містить старші та другорядні номери пристрою події
(через кому).
e Значення помилки
m Менший номер пристрою події.
M Основна кількість пристроїв події.
n Кількість блоків
N Кількість байтів
p Ідентифікатор процесу
P Відображення пакетних даних -- ряд шістнадцяткових значень
s Порядкові номери
S Номер сектора
t Мітка часу (наносекунди)
T Мітка часу (секунди)
u Витрачене значення в мікросекундах (-t параметр командного рядка)
U Корисне навантаження беззнакове ціле число
Зауважте, що користувач може за бажанням вказати ширину відображення поля та, за бажанням, лівий
вирівняний специфікатор. Вони передують специфікаторам полів із символом «%», за яким слідує
додатковий специфікатор лівого вирівнювання (-), за яким йде ширина (десяткове число), а потім
поле.
Таким чином, щоб вказати команду в полі з 12 символів, вирівняним за лівим краєм:
-f "%-12C"
ДІЇ ІДЕНТИФІКАТОРИ
У наведеній нижче таблиці показано різні дії, які можуть виводитися:
IO було переназначено на інший пристрій
B IO відскочив
C IO завершення
D IO видано водієві
F IO front об’єднано із запитом у черзі
G Отримати запит
I IO вставлено в чергу запитів
M IO назад об’єднано із запитом у черзі
P Запит на вилку
Q IO обробляється кодом черги запитів
S Запит на сон
T Від'єднайте через тайм-аут
U Запит на відключення
X Спліт
RWBS ОПИС
Це невеликий рядок, що містить принаймні один символ («R» для читання, «W» для запису або
«D» для операції відкидання блоку) і, за бажанням, «B» (для операцій з бар’єром) або
'S' (для синхронних операцій).
ПОВЕРНЕНО ВИХІД
Стандартний заголовок (або початкові поля, що відображаються) включає:
"%D %2c %8s %5T.%9t %5p %2a %3d"
Розбираючи це:
%D Відображає основний/мінорний пристрій події як: %3d,%-3d.
%2c Ідентифікатор процесора (2-символьне поле).
%8s Порядковий номер
%5T.%9t
5-символьне поле для секундної частини позначки часу та 9-символьне поле
для наносекунд у мітці часу.
%5p 5-символьне поле для ідентифікатора процесу.
%2a 2-символьне поле для однієї з дій.
%3d 3-символьне поле для даних RWBS.
Бачимо це в дії:
8,0 3 1 0.000000000 697 GW 223490 + 8 [kjournald]
Заголовок — це дані в цьому рядку до 223490 (початковий блок). За замовчуванням
вихід для всіх типів подій містить цей заголовок.
ПОВЕРНЕНО ВИХІД PER ДІЇ
C -- повний
Якщо є корисне навантаження, воно вказується в дужках після заголовка,
а потім значення помилки.
Якщо корисне навантаження відсутнє, відображається сектор і кількість блоків (з
проміжний знак плюс (+). Якщо -t було вказано параметр, а потім час, що минув
представлено. У будь-якому випадку за ним слідує значення помилки для завершення.
B -- відскочив
D -- випущений
I -- вставлено
Q -- у черзі
Якщо корисне навантаження присутнє, виводиться кількість байтів корисного навантаження, а потім
корисне навантаження в шістнадцятковій формі між дужками.
Якщо корисне навантаження відсутнє, відображається сектор і кількість блоків (з
проміжний знак плюс (+). Якщо -t було вказано параметр, а потім час, що минув
подано (в дужках). У будь-якому випадку за ним слідує команда
пов’язані з подією (у квадратних дужках).
F -- перед злиття
G -- отримати запросити
M -- назад злиття
S -- сон
Виводиться початковий сектор і кількість блоків (з проміжним плюсом (+)
символ), а потім команда, пов’язана з подією (обведена квадратом
дужки).
P -- штекер
Виводиться команда, пов’язана з подією (у квадратних дужках).
U -- відключіть
T -- відключіть два до таймер
Виводиться команда, пов’язана з подією (у квадратних дужках),
а потім кількість нерозглянутих запитів.
X -- розкол
Оригінальний початковий сектор, за яким іде новий сектор (відокремлений косою рискою (/)).
вихід, а потім команда, пов’язана з подією (обведена квадратом
дужки).
A -- перепризначити
Виводяться сектор і довжина разом із оригінальним зміщенням пристрою та сектора.
ПРИКЛАДИ
Щоб відстежити введення/виведення на пристрої /dev/hda та розбору вихід до людина читабельний форма, використання
після команда:
% blktrace -d / dev / sda -o - | blkparse -i -
(Див. blktrace (8) для отримання додаткової інформації). Такої ж поведінки можна досягти за допомогою
зручний скрипт btrace. Команда
% btrace /dev/sda
має точно такий же ефект, як і попередня команда. Побачити btrace (8) для отримання додаткової інформації.
Щоб відстежити введення/виведення на пристрої та зберегти результат для подальшої обробки blkparse, Використовуйте
blktrace подобається це:
% blktrace /dev/sda /dev/sdb
Це відстежуватиме введення/виведення на пристроях / dev / sda та / dev / sdb і збережіть записану інформацію
у файлах ПДР та SDB у поточному каталозі, для двох різних пристроїв,
відповідно. Пізніше ця інформація трасування може бути проаналізована blkparse утиліта:
% blkparse sda sdb
який виведе попередньо записану інформацію трасування в зрозумілій людині формі
стандартний вихід.
AUTHORS
blkparse написаний Йенсом Аксбо, Аланом Д. Брунеллем і Натаном Скоттом. Ця сторінка людини була
створений з blktrace документація Bas Zoetekouw.
ЗВІТНІСТЬ БУГИ
Повідомте про помилки до[захищено електронною поштою]>
АВТОРСЬКЕ
Copyright © 2006 Jens Axboe, Alan D. Brunelle та Nathan Scott.
Це безкоштовне програмне забезпечення. Ви можете розповсюджувати його копії відповідно до умов GNU
Загальна публічна ліцензіяhttp://www.gnu.org/licenses/gpl.html>. ГАРАНТІЇ НЕМАЄ
в межах, дозволених законом.
Ця сторінка посібника була створена для Debian Bas Zoetekouw. Воно було отримано від
документації, наданої авторами, і вона може використовуватися, розповсюджуватися та змінюватися під
умови GNU General Public License, версія 2.
У системах Debian текст Загальної публічної ліцензії GNU можна знайти в
/usr/share/common-licenses/GPL-2.
Використовуйте blkparse онлайн за допомогою сервісів onworks.net