Mam doświadczenie, że Linux działa dobrze, dopóki pamięć fizyczna nie zostanie wyczerpana. Gdy tylko zostanie użyta przestrzeń wymiany, wydajność jest poważnie obniżona, a GUI przestaje odpowiadać.
Ten problem nie ogranicza się do konkretnej dystrybucji lub pulpitu, ponieważ próbowałem kilka (i problem pozostaje).
Co mogę z tym zrobić?
Odpowiedzi:
Sugeruję przeczytanie SwapFAQ , w szczególności parametru swapiness .
źródło
Niektóre wskazówki:
źródło
Kup więcej pamięci? :)
Jeśli korzystasz z aplikacji, które zużywają więcej pamięci niż masz w systemie, żaden system operacyjny nie może zrobić nic innego, niż przełączyć się na partycję wymiany. Jeśli często zdarza się taka sytuacja, przestań uruchamiać niektóre niepotrzebne programy lub kup więcej pamięci, w dzisiejszych czasach jest to bardzo tanie.
źródło
Spróbuj zmienić wartości zmiennych jądra „vm.swappiness” i „vm.page -uster” na bardziej odpowiednie wartości.
cd /etc/sysctl.d/
sudo echo "vm.swappiness = 0" > 60-memory-management.conf
sudo echo "vm.page-cluster = 1" >> 60-memory-management.conf
sudo chmod 644 60-memory-management.conf
Sprawdź, czy nowe wartości są używane z:
cat /proc/sys/vm/swappiness
cat /proc/sys/vm/page-cluster
źródło
Zamiana znacznie obniży wydajność bez względu na wszystko, więc najlepiej tego całkowicie uniknąć. Może to zabrzmieć głupio, ale jedną z opcji jest brak konfiguracji partycji wymiany. Od jakiegoś czasu działam bez swapów na wszystkich moich systemach:
Jeśli robisz coś, co naprawdę wymaga dużej ilości pamięci (Gimp z dużymi obrazami, modelowanie 3D, CAD), prawdopodobnie powinieneś kupić trochę pamięci RAM.
źródło
Możesz wypróbować compcache , jeśli możesz dowiedzieć się, jak skonfigurować go w swojej dystrybucji. Na przykład w systemie Ubuntu można go włączyć, edytując /etc/initramfs-tools/initramfs.conf i edytując wiersz „COMPCACHE_SIZE”.
Nie sądzę, żeby moja zamiana na dysku została dotknięta raz, odkąd włączyłem compcache. Oto moje aktualne statystyki wymiany:
Zauważ, że używane jest urządzenie compcache (ramzswap0), a urządzenie na dysku (sda5) nie.
źródło
Kupuj szybszą pamięć RAM i upewnij się, że system z niej korzysta. Jakiego procesora i architektury używasz?
źródło
Aplet Monitora systemu uruchamiam w stacji dokującej po prawej stronie ekranu. Za każdym razem, gdy system wydaje się powolny, spoglądam na mierniki. Jeśli coś działa z wydajnością powyżej 10%, oznacza to, że proces wymyka się spod kontroli.
Po kliknięciu na monitor systemu możesz zalogować się do procesów, które zużywają zasoby w systemie.
http://www.colliertech.org/~cjac/tmp/screenies/system_monitor.png
źródło
Kilka lat temu zwykle używany był dysk dedykowany do wymiany, a podłączony do własnej magistrali IDE / ATA - zamiana danych na tym samym dysku po prostu nie miała sensu pod względem wydajności.
Ta sztuczka zadziałała dziesięć lat temu, ale teraz przy prędkościach napędowych naprawdę nie powinieneś odczuwać tak gwałtownego spadku wydajności, chyba że zamienisz bibliotekę kongresową, inaczej martwię się o zdrowie twojego dysku - sprawdziłeś to ostatnio?
Zawsze możesz spróbować, nie masz wielu alternatyw, jeśli pamięć RAM jest już maksymalnie wykorzystana. Mam nadzieję, że dzięki temu twój GUI będzie bardziej responsywny.
źródło
Zainstaluj drugi system Linux w sieci z dużą ilością pamięci RAM, NFS zamontuj go w systemie głównym i umieść na nim plik wymiany.
źródło
Jednym ze sposobów jest użycie zoptymalizowanego jądra .
źródło
Dzięki wieloletniemu doświadczeniu mogę powiedzieć, że nie ma wiele do poprawienia
Ale to, co ostatnio zrobiłem, bardzo mi pomogło.
1
Przeprowadziłem się z Ubuntu na Arch Linux, z Unity / Gnome na pulpit xfce.
Ubuntu jest śmiertelnie powolny, zewsząd. boot / grafika .. wolno.
2)
Kupiłem dysk SSD firmy Intel (80 g) i umieściłem na nim mój system root.
Mój arch Linux + XFCE4 + docky + conky, uruchamia się w 10 sekund (automatyczne logowanie za pomocą lxdm), wszystkie aplikacje zainstalowane na SSD, np. Matlab, uruchamiają się znacznie szybciej.
Pieniądze tego warte.
3)
Utwórz / tmp gdzie indziej, używam do tego ograniczonego rozmiaru ramdysku, aby zapobiec zakodowaniu systemu plików root
źródło