Какие инструменты находятся в папке / tools?

В дереве / инструментах исходного кода ядра есть много подмодулей. Какие инструменты доступны в этой папке? Я знаю инструмент perf. Какие еще они есть? Как их построить? Они по умолчанию интегрированы в ядро? Для чего они используются?

-1
10.07.2017, 10:45
1 ответ

make helpв этом каталоге дает краткое описание:

Possible targets:

  acpi                   - ACPI tools
  cgroup                 - cgroup tools
  cpupower               - a tool for all things x86 CPU power
  firewire               - the userspace part of nosy, an IEEE-1394 traffic sniffer
  freefall               - laptop accelerometer program for disk protection
  gpio                   - GPIO tools
  hv                     - tools used when in Hyper-V clients
  iio                    - IIO tools
  kvm_stat               - top-like utility for displaying kvm statistics
  leds                   - LEDs  tools
  lguest                 - a minimal 32-bit x86 hypervisor
  net                    - misc networking tools
  perf                   - Linux performance measurement and analysis tool
  selftests              - various kernel selftests
  spi                    - spi tools
  objtool                - an ELF object analysis tool
  tmon                   - thermal monitoring and tuning tool
  turbostat              - Intel CPU idle stats and freq reporting tool
  usb                    - USB testing tools
  virtio                 - vhost test module
  vm                     - misc vm tools
  x86_energy_perf_policy - Intel energy policy tool

Однако это не все, что доступно. Немного подробнее:

  • accounting/getdelaysотображает различную информацию, относящуюся к планированию задач и процессов, включая переключение контекста (, добровольное и непроизвольное ), учет операций ввода-вывода и учет задержек;
  • cgroup/cgroup_event_listener— простой прослушиватель событий cgroup;
  • firewire/nosy-dumpвзаимодействует с драйвером режима отслеживания для контроллеров TI PCILynx 1394 (Firewire );
  • gpioсодержит несколько инструментов, связанных с контактами ввода-вывода общего назначения (GPIO -, обычно на одноплатных компьютерах -, таких как Raspberry Pi ), включая lsgpio, в котором перечислены доступные микросхемы GPIO. и линии;
  • hvсодержит ряд полезных инструментов для гостей Hyper -V;
  • iioсодержит инструменты, относящиеся к промышленному вводу-выводу -;
  • kvm/kvm_stat/kvm_statвыводит количество событий трассировки модуля ядра KVM, т. е. представление гостевой активности KVM со стороны хоста;
  • laptop/dslm/dslm— простой монитор сна диска;
  • laptop/freefall/freefallпо-видимому, реализует защиту диска на ноутбуках HP и Dell (, определяя падение ноутбука, парковку головок и их отключение после прекращения подачи сигнала тревоги );
  • leds/uledmonв основном представляет собой программу демонстрации светодиодов в пользовательском пространстве;
  • lguestсодержит минимальный 32 -битный гипервизор x86;
  • netсодержит несколько инструментов отладки BPF (, которые вам понадобятся libbfdдля сборкиbpf_jit_disasm);
  • nfsdсодержит сценарий для внедрения ошибок демона NFS;
  • objtoolсодержит инструмент анализа объектов ELF;
  • pcmcia/crc32hash— это пользовательская -реализация алгоритма CRC32 ядра;
  • perfсодержит уже известный вам инструмент perf;
  • power/acpiсодержит ряд инструментов, связанных с ACPI -;
  • power/cpupowerсодержит инструмент cpupower, библиотеку и т. д. для мониторинга и контроля управления питанием ЦП;
  • power/x86/turbostat/turbostatсообщает о топологии процессора, частоте, статистике энергопотребления в режиме ожидания, температуре и мощности на процессорах x86;
  • power/x86/x86_energy_perf_policy/x86_energy_perf_policyотображает и устанавливает политику энергоэффективности x86;
  • spi/spidev_test— инструмент тестирования SPI;
  • testingсодержит ряд инструментов для тестирования ядра;
  • thermal/tmonсодержит комплексный инструмент теплового мониторинга (, полезный, в частности, для определения взаимосвязей между охлаждающими устройствами и тепловым поведением );
  • time/udelay_test.sh— тестовый скрипт udelay();
  • usbсодержит ряд инструментов для тестирования USB, наряду с usb/usbip, который является хорошим клиент-серверным инструментом, позволяющим экспортировать USB-устройства с одного хоста на другой;
  • virtioсодержит тестовый модуль vhost;
  • vm/page-typesотображает подробную информацию о странице из подсистемы виртуальной памяти.

Эти инструменты не являются частью сборки ядра по умолчанию, и их необходимо собирать явно с использованием соответствующей цели или каталога, как указано make help. Многие из них имеют подробную документацию, которую вы можете прочитать, чтобы узнать больше.

4
28.01.2020, 05:07

Теги

Похожие вопросы