- Використання передових інструментів, таких як hw-monitor та nvtop, для розподілу споживання відеопам'яті та навантаження на графічний процесор окремими процесами.
- Важливість підсистеми DRM ядра Linux для отримання точних показників на обладнанні AMD, Intel та NVIDIA.
- Альтернативні можливості моніторингу залежно від відеокарти, від консолі з nvidia-smi до візуальних інтерфейсів, таких як KDE Plasma.
Якщо ви тільки починаєте працювати зі світом Linux і хочете отримати повний контроль над своїм комп'ютером, ви знаєте, що не завжди легко побачити, який саме процес використовує всі ресурси. Незалежно від того, чи ви створюєте шкільний проект на Avalonia, чи просто хочете оптимізувати свій робочий процес, знання того, скільки пам'яті та обчислювальної потужності використовує кожна програма, є критично важливим для запобігання збоям вашої системи.
Реальність така, що донедавна моніторинг продуктивності графіки був головним болем, оскільки більшість програм надавали лише загальний огляд. Однак сьогодні існують дуже потужні рішення , які дозволяють нам заглибитися в деталі та визначити, чи це GIMP, 3D-рендерер чи фоновий процес, який завантажує графічний процесор та відеопам'ять.

Якісний стрибок з hw-monitor

Однією з найцікавіших нових функцій є поява hw-monitor, зокрема версії 0.6. Цей інструмент вирізняється своєю здатністю аналізувати показники графічного процесора для кожного активного процесу. Це приємне полегшення для тих, хто працює із симуляціями або компіляцією шейдерів, оскільки раніше їм доводилося наосліп закривати програми, щоб побачити, чи відновить роботу системи.
Щоб досягти такого рівня деталізації, програма спирається на драйвери DRM (Direct Rendering Manager) ядра Linux . Цей рівень керує доступом до графічного обладнання та забезпечує сумісність hw-monitor з дуже широким спектром обладнання, включаючи AMDGPU для відеокарт AMD , Intel i915 та Xe, а також драйвер Nouveau з відкритим кодом для користувачів NVIDIA.
Окрім технічних аспектів апаратного забезпечення, цей інструмент включає дуже практичне керування програмами, які запускаються автоматично за допомогою стандарту автозапуску XDG . Завдяки цьому ви можете очистити сеанс запуску та видалити ті невидимі програми, які конкурують за графічні ресурси з моменту ввімкнення комп’ютера.
Порівняння інструментів GPU

Залежно від вашої картки та того, наскільки вам подобається користуватися терміналом, у вас є кілька варіантів моніторингу вашого обладнання:
- nvidia-smi: Це базовий та простий інструмент для користувачів NVIDIA. Він дозволяє бачити поточне навантаження, споживання енергії у ватах та відеопам'ять, що використовується кожним процесомЯкщо ви хочете, щоб дані оновлювалися автоматично, ви можете запустити це в циклі.
- nvtop та nvitop: Якщо ви віддаєте перевагу чомусь більш візуальному, ці інструменти чудово підійдуть. nvtop пропонує діаграми та чітке уявлення про одночасне завантаження процесора та графічного процесора. Тим часом nvitop виводить інтерфейс на новий рівеньщо робить температуру та використання пам'яті надзвичайно доступними.
- Монітор плазмової системи KDE: Для тих, хто шукає щось інтегроване в робочий стіл, монітор KDE має дуже пристойний розділ графічного процесора, хоча він менш точний з відеопам'яттю порівняно з попередніми інструментами.
Як отримати дані в програмному проекті

Для тих, хто розробляє програми в .NET або Avalonia, яким потрібно витягувати ці дані, ключем є доступ до інформації, що надається ядром. У Linux більшість цих показників знаходяться у файловій системі /proc або отримуються через виклики API драйверів DRM. Хоча використання процесора та оперативної пам'яті легше отримати через стандартні бібліотеки, відстеження графічного процесора для кожного процесу вимагає взаємодії зі специфічними інструментами постачальника або зчитування вузлів ядра.
Детальний контроль над відеопам'яттю та навантаженням на обчислення дозволяє діагностувати проблеми з продуктивністю без здогадок. Поєднуючи термінальні інструменти з візуальними моніторами та чітким керуванням службами запуску, будь-який користувач може максимізувати ефективність своєї творчої або розробницької робочої станції , гарантуючи, що обладнання використовується на повну потужність без перевантаження системної пам'яті.