Czy bezpiecznie jest wyłączyć zamianę na stałe?

54

Mój system działał wolniej, zwłaszcza gdy korzystam z przeglądarek takich jak Firefox / Chromium i maszyny wirtualne. Zauważyłem, że mam co najmniej 3,2 GB wolnej pamięci RAM (używając monitora systemu Gnome) i nie było wymiany.

Teraz zrobiłem, swapoff -aa wydajność systemu wzrosła o 30%. Więc moje pytanie brzmi: czy korzystanie z niego jest bezpieczne swapoff? Czy ponowne uruchomienie komputera będzie bezpieczne swapoff?

wprowadź opis zdjęcia tutaj

One Zero
źródło
1
Czy jesteś pewien, że Ubuntu używa twojej wymiany, zanim w pełni użyje pamięci RAM? Jaka jest wydajność z free -m ? Zwykle wyłączenie zamiany nie robi różnicy, ponieważ Ubuntu próbuje używać RAM tak często, jak to możliwe, i nie powinno się zdarzyć, że RAM nie będzie używany i zostanie użyta zamiana.
ste_kwr
2
Po prostu, nie mam zamiany na moim systemie 8 GB z jednym dyskiem SSD.
Lekensteyn,
3
Możesz albo wyłączyć swap, co powinno być w porządku, albo dostosować wartość swapiness. Można go znaleźć w / proc / sys / vm / swappiness. Użyj „sysctl” dla bardziej trwałej zmiany. Należy zauważyć, że hibernacja wymaga wymiany. Myślę, że sen tak naprawdę go nie potrzebuje, ale hibernacja tak.
Marky
@kniwor ya zrobiłem, po 2,5 GB pamięci RAM ... używa wymiany i muszę zrestartować, a następnie mój system działa poprawnie. i jakiś czas po 1 GB mój system zwolnił
One Zero
@ Sprawdziłem to 5 do 6 razy
One Zero

Odpowiedzi:

94

Jądro Linux zapewnia modyfikowalne ustawienie kontrolujące częstotliwość używania pliku wymiany, zwane swappiness

Ustawienie swapowania na zero oznacza, że ​​dysk zostanie uniknięty, chyba że będzie to absolutnie konieczne (zabraknie pamięci), a ustawienie swapowania na 100 oznacza, że ​​programy zostaną zamienione na dysk niemal natychmiast.

System Ubuntu ma domyślnie 60, co oznacza, że ​​plik wymiany będzie używany dość często, jeśli zajmie to około połowy mojej pamięci RAM. Możesz sprawdzić wartość swapiness własnego systemu, uruchamiając:

one@onezero:~$ cat /proc/sys/vm/swappiness
60

Ponieważ mam 4 GB pamięci RAM, chciałbym to zmniejszyć do 10 lub 15. Plik wymiany będzie wtedy używany tylko wtedy, gdy użycie pamięci RAM będzie wynosić około 80 lub 90 procent. Aby zmienić wartość wymiany systemu, otwórz /etc/sysctl.conf as root. Następnie zmień lub dodaj ten wiersz do pliku:

vm.swappiness = 10

Uruchom ponownie, aby zmiana zaczęła obowiązywać

Możesz także zmienić wartość, gdy system nadal działa

sysctl vm.swappiness=10

możesz również wyczyścić swap, uruchamiając go, swapoff -aa następnie swapon -ajako root zamiast restartu, aby osiągnąć ten sam efekt.

Aby obliczyć swap Formula

free -m (total) / 100 = A

A * 10

root@onezero:/home/one# free -m
             total       used       free     shared    buffers     cached
Mem:          3950       2262       1687          0        407        952
-/+ buffers/cache:        903       3047
Swap:         1953          0       1953

więc suma wynosi 3950/100 = 39,5 * 10 = 395

co oznacza, że ​​kiedy pozostało 10% 395 MB pamięci RAM, zaczyna używać swapiness

One Zero
źródło
11
+1 To doskonała instrukcja konfiguracji wymiany. Świetna odpowiedź. Możesz nawet opublikować nowe pytanie z pytaniem „jak skonfigurować swapiness” i skopiować tę odpowiedź, aby inni mogli łatwiej znaleźć. Ludzie, którzy przyjdą na to pytanie, będą szukać odpowiedzi „tak lub nie”, twoja instrukcja dla osób, które już wybrały „tak”
Tom Brossman,
1
@TomBrossman, zrobiłem to możesz sprawdzić askubuntu.com/questions/103915/how-do-i-configure-swappiness
One Zero
11
Chociaż jest to przydatny przewodnik, nie odpowiada na pytanie. Pytający chciał wiedzieć, czy jest to bezpieczne, czy nie , a nie jak to zrobić.
fouric 19.03.13
2
@InkBlend Nawet dziwniejsze, ta odpowiedź nie jest przez pytającego.
underscore_d
W każdym razie wielkie dzięki za wskazówkę. To zupełnie nowy świat z tym lappy Ubuntu.
Don Pflaster,
17

Prawdopodobnie. Powinieneś przeczytać część „Dlaczego potrzebuję wymiany” na stronie FAQ Ubuntu tutaj i sam ocenić.

Jeśli cenisz prędkość w porównaniu do wymiany siatki bezpieczeństwa, powinieneś ją wyłączyć

Jeśli nigdy nie zawieszasz dysku i zawsze zamykasz go i restartujesz, możesz go bezpiecznie wyłączyć.

Jeśli masz dużo pamięci RAM (uruchomione maszyny wirtualne o pojemności 4 GB + są blisko), możesz to zrobić.

Dla mnie mam system operacyjny na dysku SSD, 8 GB pamięci RAM i nigdy się nie zawieszam. Nie potrzebuję wymiany, nigdy nie widziałem jej w użyciu, i po prostu skonfigurowałem ją przy instalacji z przyzwyczajenia.

Alternatywnie, oto około: modyfikacja konfiguracji dla Firefox z Lifehacker, która wyjaśnia, jak używać pamięci RAM tylko do pamięci podręcznej przeglądarki. Przeczytaj obalenie połączone na dole tego artykułu, zanim spróbujesz.

Tom Brossman
źródło
1

Nie, to nie jest bezpieczne. Powodem jest to, że gdy w systemie zabraknie pamięci RAM i nie będzie w stanie zamienić żadnej z nich, może zawiesić się bez szansy na odzyskanie innej niż twardy reset. Nie chodzi tylko o możliwość zawieszenia lub nie.
Źródło: moje 14.04 robi to.

Powinieneś zachować minimalną ilość przestrzeni wymiany, poszukaj liczb w FAQ Ubuntu .

Przemek D.
źródło