Skrypt czyszczenia pamięci

Witam,
Co prawda problem już został opisany - ale w innym wątku i szukanie jako skryptu do czyszczenia pamięci nie przynosi pozytywnych rezultatów - to wspomnę o nim raz jeszcze.
Wspominał o nim @LinGruby w wątku, a raczej @azja (wspominając wpis pierwszego) Chcę kupić Ram do mojego Laptopa - #15 przez LinGruby
Wpiszę tę wiadomość raz jeszcze dla przejrzystości.

mały skrypt ram-drop_caches.sh który się wykonuje raz na godzinę:

skrypt wygląda następująco:

#!/bin/sh
sync; echo 3 > /proc/sys/vm/drop_caches

skrypt siedzi w/usr/local/bin/ram-drop_caches.sh

polecam przydaje się przy stałym używaniu sprzętu bez wyłączania
Najkorzystniej jest jednaj utworzyć folder ukryty w katalogu domowym ~/bin/ i w nim trzymać «prywatne» skrypty.

Jeżeli chcemy, aby jakiś skrypt był wykonywany na podstawie $PATH, to tworzymy link’a w
/usr/bin/

dowiązanie symboliczne skryptu (polecenie z konsoli)
$ sudo cp -s "/home/nazwa_użytkownika/.bin/skrypty/ram-drop_caches.sh" "/usr/local/bin/ram-drop_caches"

jest to wyjście ale można prościej nawet w /etc/crontab dodać

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/nazwa_użytkownika/.bin/skrypty
MAILTO=root

jak ktoś nie ma w /usr/local/bin i też bez problemów będzie się wykonywać :wink:

Ten skrypt próbuje naprawić nieistniejący problem - lub istniejący tylko w głowach początkujących użytkowników, którzy nie mają pojęcia jak kernel zarządza pamięcią.

Zamiast sobie zawracać głowę uruchamianiem bezsensownych skryptów, lepiej poświęcić chwilę na zrozumienie jak Linux zarządza pamięcią.

https://www.linuxatemyram.com/

1 polubienie

Nie będę się upierał i przyznawał rację Tobie lub przeciwnikom - ale jeśli u mnie i u osób stosujących ten skrypt -to się sprawdza - to ja to stosuję. Czy zastosują (lub nie) inni - to ich wybór.

właśnie testując swego czasu często i przy moich 16GB Ram i 3GB Swap ( obecnie wyłączony ) potrafił mi system zamulać a w momencie zastosowania skryptu jak ręką odjął to coś musi być na rzeczy ( a laptop 24h/7 ) tylko reboot przy nowym kernelu a to różnie czasami tydzień działa i czasami miałem ( przed zastosowaniem ) problemy że system zamulał wolnego ram było 2GB ( z 16 ) a na Swap potrafiło 2GB ( z 3GB ) wejść…

więc reguła regułą ale życie życiem :smiley:

i jak wspomniał @lcoyote ja stosuje u siebie sprawdza się to go swego czasu pokazałem :wink:

Linux wykonuje tak świetną robotę, wykorzystując całą dostępną pamięć i odzyskując ją w razie potrzeby, więc lepiej pozwolić Linuxowi zarządzać tymi rzeczami.

Gdy opróżnisz pamięć podręczną (lub pamięci podręczne), zobaczysz, że obciążenie procesora rośnie (czasami znacznie w górę), ponieważ pamięć podręczna zniknęła. Dostępna pamięć RAM rośnie, ale to nie ma znaczenia, wydajność jest wolniejsza, ponieważ pamięć podręczna jest pusta.

Linux próbuje wykorzystać całą dostępną pamięć RAM, więc pamięci podręczne zapełniają się z czasem, jeśli nie instruujesz Linuksa, aby je zrzucił, i to jest dobra rzecz. Dostępna pamięć RAM spada, jest ona dostępna dla aplikacji w razie potrzeby, ponieważ aplikacje mają wyższy priorytet niż pamięć podręczna.

Chcesz, aby Linux używał całej pamięci RAM. To dobrze, ponieważ jądro zasadniczo wykorzystuje całą dostępną pamięć RAM, która nie jest używana przez aplikacje (i system operacyjny) do buforowania. Opróżnianie cache ma niewielki pozytywny wpływ na wydajność. W rzeczywistości ma to negatywny wpływ. Powodem jest to, że tak naprawdę nie udostępniasz aplikacji więcej pamięci RAM, ponieważ aplikacje już otrzymały potrzebną pamięć RAM. Po prostu opróżniasz pamięć podręczną, co obniża wydajność.

1 polubienie

@eloaders
Brzmi sensownie, ale jednak czyszczenie cache’u, aby zwolnić RAM, ma uzasadnienie, gdy jedziesz na oparach pamięci i każdy megabajt jest cenny. Tracisz na wydajności, ale zyskujesz na stabilności.

Nudne jest wklejanie tego samego linku po raz kolejny więc:

No tak, w tych okolicznościach wygląda, to zupełnie inaczej. Mój błąd - nie podążyłem za link’iem. Wchodzę pod stół i odszczekuję swój poprzedni wpis.