ДОВІДНИК З NODE-RED українською мовою
На головну | < Розділ > |
---|---|
Цей вузол моніторить використання CPU, і базується на Node.js OS Library.
Приклад потоку:
Коли тригерне повідомлення відправляється на вхід, перераховується використання CPU. Розраховане використання CPU базується на середньому значенні з попереднього розрахунку, тому обчислене значення стане більш точним, коли період між викликами і відповідно розрахунками буде невеликим. Рекомендується щосекундний виклик.
У налаштуваннях вузла вказуються опції:
Якщо вибрано параметр “Single output message for overall cpu usage”, буде створено одне вихідне повідомлення, яке містить загальне використання CPU (з топіком загальний
). Загальне використання процесора обчислюється як усереднене значення використання усіх ядер:
Саймон Хейлес порадив автору вузла додати цей варіант, оскільки графіки на ядро можуть стати занадто зашумленими. Наприклад, з наступного графу Ви можете зробити висновок (неправильний!), що для обробки відео (за допомогою бібліотеки OpenCv) добре використовуються всі 4 ядра Raspberry Pi:
Однак, дивлячись на загальне використання процесора, стає зрозуміло, що використовується лише 25% ресурсів процесора Raspberry Pi:
Це означає, що бібліотека використовує всі 4 наявні ядра, але загалом лише 25% з 4 ядер …
Буде єдине вихідне повідомлення, що містить загальні дані всіх ядер:
msg.payload
- усереднене значення у % (сумарне використання усіх дер поділена на їх кількість)msg.speed
- частота процесору в MHzmsg.topic
- фіксоване текстове значення overall
msg.model
- модель CPUЯкщо вибрано цей параметр, буде створено вихідне повідомлення для кожного ядра окремо. Оскільки кожне ядро отримує власний topic
(core_xxx
), відображати всі ядра в одному графіку на інформаційній панелі стає дуже просто:
Вихідне повідомлення для кожного ядра матиме вигляд:
msg.payload
- використання ядра у %msg.speed
- частота процесора в MHzmsg.topic
- назва логічного ядра CPU (core_xxx
)msg.model
- модель CPUЦе приклад такого вихідного повідомлення:
Якщо вибрано цей параметр, буде створено одне вихідне повідомлення, яке містить масив усіх використань процесора (з topic all_cores
).
msg.payload
це масив з інформацією про всі наявні ядра:
msg.payload
- використання ядра у %msg.speed
- частота процесора в MHzmsg.topic
- назва логічного ядра CPU (core_xxx
)msg.model
- модель CPUmsg.topic
фіксований текст (all_cores
)Якщо вибрано цей параметр, буде створено одне вихідне повідомлення, яке містить значення температури в ° C (з topic temperature
).
Вихідне повідомлення матиме вигляд:
msg.payload
основна (усереднена) температураmsg.max
максимальна температураmsg.cores
масив температур по усім ядрамmsg.topic
фіксований текст (temperature
)УВАГА: значення температури доступні не у всіх системах (наприклад, у Sun systems)! І в деяких системах масив msg.cores
буде порожнім (наприклад, на Raspberry Pi 3), але замість цього може бути доступна основна температура.
Як було сказано раніше, дані будуть виводитися для кожного ядра. Однак що представляє собою ядро?
У випадку системи з N процесорами (і M ядрами в кожному процесорі) загальна кількість фізичних ядер на графіці буде NxM.
Однак іноді ми отримаємо набагато більше віртуальних ядер на виході (порівняно з кількістю фізичних ядер). Це може бути, наприклад, з процесорами, які підтримують Hyper Threading.
Цей вузол можна легко використовувати для виявлення проблем з продуктивністю, не встановлюючи додаткових сторонніх інструментів.
В якості вихідної точки (для порівняння власного графіку використання CPU ) основний потік Node-Red використовує дуже мало основних ресурсів (крім періоду розгортання):
The The node-red-contrib-os node also contains a ‘cpus’ node, which can be used to get the same kind of information. However there are some differences between both nodes:
Вузол node-red-contrib-os також містить вузол ‘cpus’, який можна використовувати для отримання такого ж типу інформації. Однак існують деякі відмінності між обома вузлами:
node-red-contrib-os (cpus) | node-red-contrib-cpu | |
---|---|---|
Multiple cores | all in 1 msg | separate messages |
Measurement start | system startup | previous calculation |
Output value | multiple values (idle, user, sys …) | single percentage |
Вузол node-red-contrib-cpu - це зручний вузол, який бере на себе всі обчислення у випадку, якщо ви хочете контролювати роботу процесора в реальному часі.
На головну | < Розділ > |
---|---|