Kod do czyszczenia pamięci podręcznej

Wprowadzenie do czyszczenia pamięci podręcznej

Pamięć podręczna, znana również jako cache, to mechanizm przechowujący tymczasowe dane, które przyspieszają działanie systemów operacyjnych, aplikacji i stron internetowych. Z czasem zgromadzone pliki mogą powodować problemy, takie jak spowolnienie działania, błędy wyświetlania czy nieaktualne informacje. Regularne czyszczenie cache jest więc niezbędne dla utrzymania wydajności i stabilności. W zależności od platformy i środowiska stosuje się różne metody – od prostych poleceń w terminalu po zaawansowane skrypty i narzędzia programistyczne. Poniższy artykuł przedstawia praktyczne kody i komendy do usuwania pamięci podręcznej w systemach Linux, Windows, przeglądarkach internetowych, a także w środowisku webowym i chmurowym.

Linux – czyszczenie pamięci podręcznej jądra

W systemie Linux można bezpośrednio manipulować pamięcią podręczną jądra za pomocą pliku /proc/sys/vm/drop_caches. Jest to standardowe polecenie systemowe, które pozwala zwolnić pamięć zajmowaną przez strony (pagecache), dentry i inodes. Operacja ta nie wymaga instalowania dodatkowych skryptów i jest bezpieczna, o ile nie jest wykonywana podczas intensywnego obciążenia. Aby wyczyścić wszystkie trzy rodzaje cache, należy wpisać w terminalu następującą komendę z uprawnieniami roota:

echo 3 > /proc/sys/vm/drop_caches

Kod do czyszczenia pamięci podręcznej - 1

Warto wiedzieć, że wartość 1 oznacza tylko pagecache, 2 – dentry i inodes, natomiast 3 łączy oba zestawy. Przed wykonaniem polecenia warto sprawdzić aktualny stan pamięci poleceniem free -h. Poniżej znajduje się lista kroków do bezpiecznego czyszczenia cache w systemie Linux:

  • Otwórz terminal i zaloguj się jako root lub użyj sudo.
  • Sprawdź bieżące użycie pamięci za pomocą free -h lub cat /proc/meminfo.
  • Wpisz sync, aby zsynchronizować dane na dysk i uniknąć utraty informacji.
  • Wykonaj polecenie echo 3 > /proc/sys/vm/drop_caches.
  • Potwierdź zmianę, ponownie odczytując free -h.

Więcej szczegółów na ten temat można znaleźć w oficjalnej dokumentacji jądra Linux: Linux Kernel Documentation – Drop Caches.

Linux – automatyzacja za pomocą skryptu Bash

Aby proces czyszczenia cache był wykonywany regularnie, warto stworzyć prosty skrypt Bash, który następnie można uruchamiać przez cron. Poniżej przykład takiego skryptu:

Kod do czyszczenia pamięci podręcznej - 2

#!/bin/bash
echo "Czyszczenie pamieci podrecznej..."
sync
echo 3 > /proc/sys/vm/drop_caches
echo "Gotowe."

Po zapisaniu pliku (np. clearcache.sh) należy nadać mu uprawnienia do wykonywania: chmod a+x clearcache.sh. Aby zautomatyzować zadanie, dodajemy wpis w crontab. Załóżmy, że chcemy czyścić cache codziennie o 3 nad ranem. Wówczas w konsoli wpisujemy crontab -e i dodajemy linię:

0 3 * * * /sciezka/do/clearcache.sh

Kod do czyszczenia pamięci podręcznej - 3

Dzięki temu system będzie samodzielnie zwalniał pamięć w określonym czasie. To rozwiązanie jest szczególnie przydatne na serwerach, gdzie cache może szybko narastać. Źródłem powyższej metody jest artykuł na Viva o Linux: Limpando sua memória cache de forma simples.

Windows – czyszczenie pamięci podręcznej systemu i aktualizacji

W systemie Windows również istnieją narzędzia wiersza poleceń, które pozwalają usunąć tymczasowe pliki cache. Dotyczy to między innymi katalogu Temp oraz folderu odpowiedzialnego za aktualizacje systemowe (SoftwareDistribution). Poniższe komendy należy uruchomić w konsoli z uprawnieniami administratora:

del /s /q %systemroot%\Temp\*.*
del /s /q %windir%\SoftwareDistribution\Download\*.*
net stop wuauserv
net start wuauserv

Kod do czyszczenia pamięci podręcznej - 4

Pierwsze dwie komendy usuwają wszystkie pliki i podfoldery w podanych lokalizacjach. Następnie zatrzymujemy i ponownie uruchamiamy usługę Windows Update, aby zresetować jej stan. Warto zaznaczyć, że niektóre pliki mogą być w użyciu i nie zostaną usunięte – wtedy najlepiej uruchomić czyszczenie po restarcie systemu. Więcej informacji na ten temat znajduje się na stronie Procedimento.com.br – Script para Limpeza de Cache no Windows.

Web – czyszczenie cache za pomocą Service Workers Cache API

W nowoczesnych aplikacjach internetowych, które korzystają z Service Workers, pamięć podręczna jest zarządzana programowo za pomocą Cache API. Aby usunąć konkretny cache, wystarczy wywołać metodę caches.delete() z odpowiednią nazwą. Przykładowo:

caches.delete('moja-nazwa-cache')

Kod do czyszczenia pamięci podręcznej - 5

Operator ten zwraca Promise, który rozwiązuje się do true, jeśli cache został pomyślnie usunięty, lub false w przeciwnym razie. Aby usunąć wszystkie cachi, można wykonać pętlę po ich nazwach: caches.keys().then(names => names.forEach(name => caches.delete(name))). Ta metoda jest szczególnie przydatna podczas aktualizacji wersji aplikacji – pozwala wymusić na przeglądarce pobranie nowych plików. Szczegółowy opis znajduje się na MDN Web Docs – Service Workers Cache API.

Adobe AEM CDN – czyszczenie cache przez HTTP Purge

W środowisku Adobe Experience Manager (AEM) pamięć podręczna jest często utrzymywana na poziomie CDN (Content Delivery Network). Aby ją wyczyścić, należy wysłać żądanie HTTP z metodą PURGE do odpowiedniego URL, wraz z nagłówkiem autoryzacyjnym. Przykładowa komenda w terminalu:

curl -X PURGE "https://twojadomena.com/strona" -H "X-AEM-Purge-Key: twoj-klucz"

W zależności od konfiguracji może być wymagane dodanie innych nagłówków, takich jak Host czy User-Agent. Po wykonaniu tego żądania CDN natychmiast usuwa cachowane wersje wskazanych zasobów. Więcej informacji udostępnia Adobe Experience Manager – Purge Cache.

Google Chrome – czyszczenie pamięci podręcznej w przeglądarce

Dla użytkowników Google Chrome najprostszą metodą jest skorzystanie z interfejsu graficznego. Należy wejść w menu (trzy kropki) → Więcej narzędzi → Wyczyść dane przeglądania. Następnie zaznaczyć opcję „Obrazy i pliki w pamięci podręcznej” i określić zakres czasowy. Można również użyć skrótu klawiszowego Ctrl+Shift+Delete i od razu przejść do zakładki „Zaawansowane”. Chrome pozwala także na ręczne usunięcie cache dla konkretnej strony przy użyciu narzędzi deweloperskich (F12 → Aplikacja → Storage → Clear storage). Jeśli problem dotyczy tylko jednej witryny, można też wywołać twarde odświeżenie (Ctrl+F5), które pominie pamięć podręczną. Oficjalne instrukcje są dostępne na Google Help – Clear cache and cookies.

Samsung Galaxy – czyszczenie pamięci podręcznej aplikacji

Na urządzeniach z systemem Android, takich jak smartfony Samsung Galaxy, pamięć podręczna każdej aplikacji można wyczyścić indywidualnie. Wystarczy przejść do Ustawienia → Aplikacje → Wybierz konkretną aplikację → Pamięć → Wyczyść pamięć podręczną. W niektórych wersjach interfejsu opcja może znajdować się w Pamięć wewnętrzna. Ta czynność nie usuwa danych logowania ani plików użytkownika, a jedynie tymczasowe pliki, które często powodują błędy. W przypadku poważniejszych problemów można również użyć opcji Wyczyść dane, ale wtedy aplikacja wróci do stanu początkowego. Dokładny opis znajdziesz na stronie Samsung Support – Como limpar o cache.

Platforma Metoda Polecenie / Akcja Uwagi
Linux (kernel) echo do /proc/sys/vm/drop_caches echo 3 > /proc/sys/vm/drop_caches Potrzebne uprawnienia roota
Linux (skrypt bash) Automatyzacja przez cron #!/bin/bash; sync; echo 3 > ... Nadać chmod +x
Windows (system) Komendy w cmd jako admin del /s /q %temp%\*.*; ... Uwaga na zablokowane pliki
Web (Service Workers) Cache API w JavaScript caches.delete('nazwa') Działa tylko w kontekście Service Worker
Adobe AEM CDN Żądanie HTTP PURGE curl -X PURGE URL -H ... Wymagany klucz purgingu
Google Chrome Menu przeglądarki Ustawienia → Prywatność → Wyczyść dane Można wybrać zakres czasu
Samsung Galaxy Ustawienia aplikacji Ustawienia → Aplikacje → [App] → Pamięć → Wyczyść cache Nie usuwa danych użytkownika

Referencje

Powyższy artykuł powstał w oparciu o następujące źródła:

Uwaga Treść ma charakter informacyjny i może wymagać dostosowania do konkretnego systemu lub aplikacji.
Autor

Stefano Barcellos

Współpracownik Visite Barbados.

« Poprzedni wpis
Jak otworzyć wiele plików jednocześnie na komputerze

Powiązane wpisy