Obecnie rolę serwera – od strony sprzętu – dla m.in. Home Assistant i ESPHome pełni u mnie Raspberry Pi 3B+, czyli nie jest to może demon wydajności, ale na moje potrzeby obecnie wystarcza. Zresztą z takiej samej Maliny korzysta kolega, który przyczynił się do pomysłu na ten artykuł. Z tą różnicą, że ja Home Assistant i ESPHome mam w ramach Dockera (Home Assistant Container), a kolega w ramach dedykowanego systemu, czyli Home Assistant Operating System (HAOS). A poszło o to, o co przy takim demonie wydajności mogło pójść, czyli o wydajność. A konkretnie obciążenie Raspberry Pi przy kompilowaniu oprogramowania dla płytek (np. ESP8266, ESP32) z poziomu ESPHome.
Maksymalna liczba jednoczesnych procesów kompilacji w ESPHome
Nie ma co ukrywać, dla Raspberry Pi 3B+ jest to zadanie niezwykle wymagające, i w standardowej konfiguracji potrafi nawet sprawić, że inne usługi na Raspberry Pi – w tym np. Home Assistant – tymczasowo mogą przestać być dostępne. A na co zwrócił uwagę lekko zaskoczony kolega – u mnie podczas kompilowania oprogramowania ESPHome dalej można było korzystać np. z Home Assistant, choć oczywiście było widać, że lekko spowalnia. Ale jednak dało się korzystać.
I tu na scenę wkracza jedna z opcji konfiguracji w ESPHome, pozwalająca określić, ile jednocześnie procesów kompilacji może być uruchomione. Domyślnie jest tyle, ile rdzeni ma procesor, czyli leci tyle, ile się da.
Więc by zwiększyć szanse na to, że Malina sie nie zablokuje, to ograniczam liczbę do połowy liczby rdzeni, czyli do 2 (Raspberry Pi 3B+ ma 4 rdzenie). W tym celu w kodzie projektu należy dodać odpowiedni parametr:
esphome:
[...]
compile_process_limit: X
Zamiast „X” należy podać, ile maksymalnie jednoczesnych procesów kompilacji może być uruchomione.
Robimy to z poziomu projektu, czyli w każdym projekcie niezależnie możemy to określić. Co dla mnie nie jest problemem, bo rzadko kiedy zaczynam projekt od zera, a zazwyczaj korzystam z jednego z kilku przygotowanych wcześniej szablonów z podstawową „moją konfiguracją”, gdzie m.in. jest ustawiony ten limit.
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01