Cache, Ram etc. itp. - KVM

Poradniki społeczności
vps, zarządzanie
LinGruby
LinGruby Pionier

Z racji sporo jest postów dotyczących cache i ram to są na to proste metody ( dotyczy tylko KVM ).

A mianowicie sprawdzanie zajętości ram

free -m

potem usuwamy cache jak brakuje ram i wchodzi już na swap:

metoda łagodna

sync; echo 1 > /proc/sys/vm/drop_caches

metoda bardziej restrykcyjna osobiście tylko jej używam:

sync; echo 3 > /proc/sys/vm/drop_caches

sprawdzamy ile nam zwolniło:

free -m

ot wszystko ;-)


Jest jeszcze metoda która zapobiega muleniu maszyny przy braku ram:

sprawdzamy:

cat /proc/sys/vm/min_free_kbytes

u mnie było 45056

ale po małym myk:

echo 128000 > /proc/sys/vm/min_free_kbytes

wartość zmieniła się na 128000, ale jest to metoda do momentu restartu potem wraca wszystko do ustawień poprzednich.

Jest na to metoda w /etc/rc.local

edytujemy i dodajemy:

echo 128000 > /proc/sys/vm/min_free_kbytes

przed exit 0 tak to wygląda:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo 128000 > /proc/sys/vm/min_free_kbytes

exit 0

i teraz mamy problem z głowy ;-)

Może się komuś przyda ;-)

SystemZ
SystemZ Admin lvlup.pro

Podaj przynajmniej jeden rozsądny powód dla którego użytkownik chciałby opróżniać cache. Z pewnością nie będzie to większa wydajność 😛

LinGruby
LinGruby Pionier
  1. Ostatnio ( jakiś miesiąc noże dwa ) miałem zajęty ram 95% i już weszło ze 30% w swap ( sprawdzałem w htop ) po wykonaniu tej operacji zwolniło mi ponad 1gb ram po wyczyszczeniu cache i wszystko zaczęło poprawnie pracować ( sinusbot nie łapał czkawki, serwer APRSC zaczął poprawnie pracować i przestałem dostawał maile po nocach że coś nie tak etc, itp. )

Serwer APRSC średnio ponad setka krótkofalowców podłączona do serwera z całego świata ;-)

Mnie to wystarczyło i teraz co jakiś czas zwalniam cache ;-)

SystemZ
SystemZ Admin lvlup.pro

Czyszczenie cache to leczenie objawowe. Lepiej usunąć przyczynę.

W twoim wypadku należałoby zacząć od zmniejszenia swappiness do powiedzmy 10 a może nawet 1, w razie potrzeby można wyłączyć o ile na pewno RAM się nie wyczerpie. Na swoim lapku miałem w ogóle wyłączony i wydajnośc była super. Daj znać czy próbowałeś i jaki jest tego efekt.

LinGruby
LinGruby Pionier

┌─ 01:24:43 root@ubuntu
└──► [] cat /proc/sys/vm/swappiness 60 ┌─ 01:24:49 root@ubuntu
└──► [
] sysctl vm.swappiness=10 vm.swappiness = 10 ┌─ 01:32:28 root@ubuntu
└──► [] cat /proc/sys/vm/swappiness 10 ┌─ 01:32:34 root@ubuntu
└──► [
] swapoff -a ┌─ 01:32:54 root@ubuntu
└──► [~] swapon -a

zobaczymy co się będzie dziać ;-)

helczyna
helczyna

Co się działo? :rofl:

LinGruby
LinGruby Pionier

@helczyna przecież napisałem ;-)

LinGruby:

Ostatnio ( jakiś miesiąc noże dwa ) miałem zajęty ram 95% i już weszło ze 30% w swap ( sprawdzałem w htop ) po wykonaniu tej operacji zwolniło mi ponad 1gb ram po wyczyszczeniu cache i wszystko zaczęło poprawnie pracować ( sinusbot nie łapał czkawki, serwer APRSC zaczął poprawnie pracować i przestałem dostawał maile po nocach że coś nie tak etc, itp. )

Serwer APRSC średnio ponad setka krótkofalowców podłączona do serwera z całego świata 😉

Mnie to wystarczyło i teraz co jakiś czas zwalniam cache 😉

helczyna
helczyna

image|666x500

LinGruby
LinGruby Pionier

A teraz nie wchodzi na swap i nawet zrobiłem sysctl vm.swappiness=1 jak mnie pamięć nie myli dawno to było ;-)