Справочная информация Я написал инструмент для отслеживания использования ЦП для каждого потока.Вывод инструментов представляет собой двоичный файл, который я могу добавить в свою утилиту синтаксического анализа, которую я написал.А вывод утилиты синтаксического анализа представляет собой CSV-файл, который я могу импортировать в Excel для составления графиков симпатичных графиков загрузки процессора процессами / потоками.
Этот инструмент захвата использования процессора работает на встроенной платформе ARM с ядром Linuxна основании 2.6.35.3.Тем не менее, я был обеспокоен тем, чтобы сделать инструмент легким весом.Я не хотел, чтобы он сохранялся непосредственно в файле CSV, чтобы минимизировать время обработки и размер файла захваченных данных.
Вопрос Инструмент работает, но ямне интересно, если я прошел долгий путь вокруг проблемы?Уже есть инструмент, который делает это (или что-то в этом роде)?
Вы, наверное, удивляетесь, почему меня волнует, если я уже создал инструмент, который работает.Ну, это не так легко, как хотелось бы.Это занимает около 10% загрузки процессора.Для сравнения, top
занимает всего около 1% (максимум).
Обновление Я решил продолжить использование моего инструмента.По крайней мере, пока лучшее решение не станет доступным.Я смог сбрить пару процентных пунктов, используя open()
вместо fopen()
на /proc/stat
.Я также использую read()
вместо fgets()
.