Ядро Linux предоставляет информацию о текущей среде, используя файловую систему sysfs в / sys. Я заинтересован в получении информации об онлайн-процессорах и их иерархии памяти (кэши с уровня 1 до уровня 3).
Поскольку вся эта информация в основном представляет собой текстовые файлы, я мог бы написать собственный анализатор, но мне любопытно, каков наилучший способ обработки информации в sysfs. На данный момент я нашел две альтернативы:
libsysfs
и
libudev
Недостатком libsysfs
является то, что коду сейчас уже почти 5 лет, и почти нет документации, libudev
кажется более активным, но документация встречается довольно редко. Был только один полезный учебник, который я нашел на libudev
- http://www.signal11.us/oss/udev/
Каков современный способ обработки содержимого из sysfs в C / C ++?
[Update]
В настоящее время невозможно получить доступ к данным, хранящимся в /sys/devices/system
, из-за того, что предоставленная информация не является реальным устройством. Единственный способ получить доступ к этим данным - это сделать это вручную.