
=head1 НАЗВА

boot-analysis — трасування і аналіз процесу завантаження базової системи

=head1 КОРОТКИЙ ОПИС

 ./run utils/boot-analysis/boot-analysis

=head1 ОПИС

Трасування і аналіз процесу завантаження базової системи для визначення, які
з кроків тривають найдовше. Не є частиною стандартних тестів.

Слід запускати на бездіяльній машині, щоб інші процеси якомога менше
впливали на час виконання. Програма є повністю безпечною до виконання у
будь-який момент часу. Вона не читає і не записує зовнішні файли і не
потребує прав доступу користувача root.

Ви можете запускати програму з каталогу збирання у зібраній копії
libguestfs, ось так:

 make
 ./run utils/boot-analysis/boot-analysis

Якщо ви пропустите C<./run>, програму буде запущено для встановленої копії
libguestfs.

=head2 Як це працює

Ми створюємо дескриптор libguestfs і реєструємо обробники зворотних
викликів, щоб можна було бачити повідомлення базової системи, трасувати
події тощо.

Далі, ми запускаємо дескриптор і вимикаємо його якомога швидше.

Доки дескриптор працює, події разом із позначками часу (які визначаються за
обробниками зворотних викликів) записуються буквального до буфера у пам'яті.

Після цього, ми аналізуємо результат за допомогою формальних виразів у
спробі визначити «розклад» дескриптора (тобто момент часу, коли BIOS було
передано керування ядру). Цей аналіз виконується у
F<utils/boot-analysis/boot-analysis-timeline.c>.

Увесь процес повторюється декілька разів і виводиться остаточне значення
розкладу (включаючи статистичний аналіз дисперсії значень між запусками).

Робота програми є дуже чутливою до певних повідомлень, які виводяться
BIOS/ядром/supermin/програмами у просторі користувача. Програма працює лише
на архітектурах x86-64 і aarch64. Програма потребує регулярного коригування
формальних виразів з метою підтримання своєї актуальності.

=head1 ПАРАМЕТРИ

=over 4

=item B<--help>

Показати коротку довідку.

=item B<--append> "ПАРАМЕТРИ"

Дописати C<ПАРАМЕТРИ> до рядка команди ядра.

=item B<--color>

=item B<--colour>

Розфарбовувати виведене (за допомогою екранованих послідовностей символів
ANSI), навіть якщо дані виводяться не на термінал.

=item B<-m> МБ

=item B<--memsize> МБ

Встановити розмір базової системи у МБ.

=item B<--smp> N

Увімкнути C<N> віртуальних процесорів.

=item B<-v>

=item B<--verbose>

Режим докладніших повідомлень, корисно для діагностики.

=back

=head1 ТАКОЖ ПЕРЕГЛЯНЬТЕ

L<guestfs-performance(1)>, L<http://libguestfs.org/>.

=head1 АВТОР

Richard W.M. Jones L<http://people.redhat.com/~rjones/>

=head1 АВТОРСЬКІ ПРАВА

© Red Hat Inc., 2016

