Существуют ли какие-либо API-интерфейсы C для извлечения свободной памяти, использования подкачки и для получения количества дескрипторов файлов, аналогичного statvfs для информации о файловой системе, вместо непосредственного анализа файловой системы / proc?
Учитывая, что официальные top
, ps
и lsof
переходят на /proc
для информации, я думаю, что нет.
Информация, ее структура и интерпретация зависят от конкретной ОС, поэтому вряд ли будут охвачены стандартом. Например. В Linux по существу нет индикатора свободной памяти .
Кроме того, обслуживание согласованных внутренних счетчиков может привести к снижению производительности (особенно в SMP / многоядерных системах) в таких критически важных путях кода, как управление виртуальной памятью. То же самое для файловых дескрипторов. Вот почему это приемлемый компромисс: скорее приложения для мониторинга пользовательского пространства должны приложить дополнительные усилия, чтобы получить информацию максимально согласованным образом, в то время как критический код ядра остается скудным и тонким.