Ищем kstat эквиваленты в Linux

У меня есть программа, которая собирает различную информацию kstat в наших системах Solaris, и теперь, когда мы внедрили Linux в наш центр обработки данных, я бы хотел сделать то же самое для Linux.

У меня, однако, проблемы с поиском эквивалентов для многих kstats. Мне было интересно, есть ли библиотека или утилита, которая имитирует kstats для среды Linux. Даже частичная реализация будет полезна.

На данный момент я анализирую файлы в / proc, но обнаружил, что нужная информация попала в цель. Например, kstat имеет следующие данные:

unix:: vminfo swap_alloc swap_avail swap_free swap_resv

В Linux у вас есть записи "SwapTotal" и "SwapFree", но а) Похоже, что swap_free действительно соответствует "SwapTotal", а swap_avail соответствует "SwapFree" b) Я не могу найти значения для swap_avail (может быть, SwapTotal минус SwapFree?) теперь swap_resv

Есть идеи?

3 ответа

Я не знаю о реализации Linux kstat, но в любом случае, вы сначала столкнулись с проблемой терминологии.

В статистике подкачки Solaris kstats, на которую вы ссылаетесь, используется "swap" для обозначения всей виртуальной памяти, то есть областей подкачки плюс большая часть оперативной памяти.

С другой стороны, статистика Linux SwapTotal и SwapFree относится только к области подкачки (то есть на диске).

Другая проблема заключается в распределении памяти в Linux, поэтому счетчик резервирования памяти может не поддерживаться и в любом случае не будет полезен.

Версия Perl:

https://github.com/zfsonlinux/linux-kstat

"Это реализация модуля Perl Sun:: Solaris:: Kstat для Linux ZFS. Он должен вести себя идентично версии Solaris".

Рубиновая версия:

https://www.rubydoc.info/gems/linux-kstat/Linux/Kstat

"Класс Kstat инкапсулирует статистику ядра Linux, полученную из /proc/stat."

В документации по meminfo есть две статьи о LWN, в которых описаны все поля из /proc/meminfo и сказано следующее о SwapTotal и SwapFree:

SwapTotal: total amount of swap space available
 SwapFree: Memory which has been evicted from RAM, and is temporarily
              on the disk

Также есть некоторые обсуждения на http://kerneltrap.org/node/4097.

Другие вопросы по тегам