В дереве / инструментах исходного кода ядра есть много подмодулей. Какие инструменты доступны в этой папке? Я знаю инструмент perf. Какие еще они есть? Как их построить? Они по умолчанию интегрированы в ядро? Для чего они используются?
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
. Многие из них имеют подробную документацию, которую вы можете прочитать, чтобы узнать больше.