Как стать автором
Обновить

Комментарии 12

Сразу не увидел, а по видео-картам снимаете данные? загрузка памяти и прочее?
А температуры всех узлов, они же доступны через биос и всякие утилиты, было бы круто тоже это всё собирать.

В целом молодцы, полезная штука. У меня небольшая рендер-ферма, надо будет попробовать всё это там поюзать.
Данные по видео-картам / температуре не снимаем, для нас это было не актуально. Но мы открыты к доработкам и будем рады Pull Request-ам на github =))

Давным-давно была задача снимать температуру с CPU на "сервере", для решения я использовал связку Zabbix-PowerShell-OpenHardwareMonitor, возможно и вы свой проект с последним подружите, их гит тут:
github.com/openhardwaremonitor/openhardwaremonitor
UPD: и сайт openhardwaremonitor.org

С датчиками температуры есть большая проблема, нативных командлетов для posh нет ни для CPU ни для GPU, всё делается через сторонние библиотеки ((((
Про загрузку GPU не скажу, не интересовался, но думаю картина такая же.

тут я согласен на 100%. даже стандартный Win10 task manager либо не верно показывает загрузку памяти, либо вообще не показывает. про загрузку процессора видеокарты вообще молчу. рендер идет, карты ажно ревут пытаясь отвести тепло, а винда говорит что загрузка 1,5% и всего лишь на 1й карте, а остальные 3 GPU вообще не используются с её точки зрения…
Получается, при помощи обычной рекурсии, начинающейся от корневых объектов, мы теоретически получаем возможность обойти всю иерархию объектов и вычислить объем выделенной под поток памяти. Однако здесь у нас возникли сложности...
Очень похоже на подход к разметке объектов в сборщиках мусора. Вроде бы эта область хорошо разработана — может быть, позаимствовать какие-то решения оттуда?
И кстати, статические поля класса выделяются в куче или по фиксированному адресу?
Спасибо за идею посмотреть на обход объектов в GC. Насчет статических полей классов вопрос не изучал.
Вы сделали интересную работу.
Но, читая вашу статью, я не обнаружил упоминания р таких привычных для системного администратора Windows инструментах для получения по запросу (обычно — из командной строки или скрипта) разнообразной информации о системах (в том числе — и удаленных), как Windows Management Instrumentation (WMI) и SOAP-оболочка для нее — WinRM. А это (сужу по своей практике) — хорошие инструменты, весьма универсальные и вполне расширяемые с помощью написания собственных провайдеров.
Скажите, вы их не рассматривали?
ProcInsp использует информацию, предоставляемую Windows Management Instrumentation (WMI) через пакет System.Management. WinRM мы не рассматривали. Насколько я знаю, WinRM используется для получения данных через PowerShell, а нам хотелось сделать инструмент, который был бы максимально прост в использовании.
Понятно, что написать что-то своё — святое право каждого программиста. Но вы слышали про zabbix?
Zabbix мы не рассматривали. Беглый поиск в интернете не дал результатов о том, как получить стек вызовов для CLR-процесса через zabbix (а это было одним из основных требований к предоставляемой информации). Если zabbix позволяет получить перечень потоков и их стеков, то напишите, пожалуйста.
Заббикс может консолидировать всё в одном вместе.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий