Slack to w gruncie rzeczy przeglądarka
Slack jest zbudowany przy użyciu frameworka zwanego Electron. Electron bierze silnik przeglądarki Chromium — ten sam rdzeń, który napędza Google Chrome — i pakuje go razem z aplikacją. Więc gdy otwierasz Slacka, nie uruchamiasz po prostu aplikacji do czatu. Uruchamiasz pełną przeglądarkę internetową, skonfigurowaną tak, by wyświetlać jedną stronę.
To właśnie dlatego Slack zużywa tak dużo RAM już od pierwszego uruchomienia. Samo Chromium wymaga znaczącej ilości pamięci, zanim ruszy na nim jakakolwiek logika aplikacji. Dodaj własny kod Slacka, a punkt wyjścia jest już poważny, zanim otworzysz choćby jedną rozmowę.
Każda przestrzeń robocza mnoży wysokie zużycie RAM przez Slacka
Tak jak Chrome obsługuje wiele kart osobnymi procesami, Slack obsługuje wiele przestrzeni roboczych — i robi to odrębnymi procesami dla każdej. Jeśli jesteś podłączony do trzech przestrzeni roboczych, możesz mieć osiem lub więcej procesów działających jednocześnie. Możesz to sprawdzić samodzielnie:
- Windows: Otwórz Menedżera zadań, znajdź Slacka i rozwiń wpis
- macOS: Otwórz Monitor aktywności i wyszukaj „Slack"
- Linux: Uruchom
ps aux | grep -i slackw terminalu
Każdy z tych procesów ma własne zużycie pamięci. Slack zużywa dużo pamięci właśnie dlatego, że te wartości sumują się bardzo szybko.
Niewidzialna praca w tle
Nawet gdy nic nie czytasz ani nie wysyłasz, Slack utrzymuje kilka procesów działających nieprzerwanie:
- Synchronizacja wiadomości w czasie rzeczywistym: odpytywanie serwerów we wszystkich kanałach w każdej przestrzeni roboczej, do której dołączyłeś
- Sprawdzanie pisowni: biernie działający w tle pełny silnik sprawdzania pisowni
- Automatyczny aktualizator: po cichu sprawdza i przygotowuje nowe wersje
- Raportowanie awarii: zbieranie danych diagnostycznych i przygotowywanie raportów
Właśnie dlatego slack zużywa za dużo pamięci — i to zużycie pełznie w górę przez cały dzień. Świeże uruchomienie przy 400 MB może niepostrzeżenie urosnąć do ponad 1,5 GB późnym popołudniem — nawet jeśli nie zrobiłeś niczego niezwykłego.
Dlaczego Slack zbudował to w ten sposób — i dlaczego tego nie zmieni
Electron to praktyczny wybór inżynierski. Jedna baza kodu, jeden zespół, trzy systemy operacyjne. Funkcje trafiają jednocześnie do Windows, macOS i Linux. Dla firmy o skali Slacka to realna przewaga operacyjna.
Przepisanie aplikacji natywnie zajęłoby lata pracy inżynierskiej i nie dodałoby użytkownikom ani jednej widocznej funkcji. Wysokie zużycie RAM przez Slacka to świadomy kompromis — architektura się nie zmieni.
Co możesz zrobić ze zużyciem RAM przez Slacka
Istnieją obejścia — zamykanie nieużywanych przestrzeni roboczych, wyłączanie akceleracji sprzętowej, całkowite zamykanie Slacka, gdy odchodzisz. Omawiamy je szczegółowo w naszym poradniku o zmniejszaniu zużycia pamięci przez Slacka.
Trwalszym rozwiązaniem problemu ze slack zużyciem RAM jest klient, który nie jest zbudowany na Electronie. msga to natywny klient Slacka napisany w C++/Qt6 — łączy się z tymi samymi serwerami Slacka, których już używasz, ale działa bez wbudowanego silnika przeglądarki. W stanie spoczynku zużywa ułamek pamięci potrzebnej oficjalnej aplikacji.