Znaczenie partycji wymiany

34
  • Jaki jest cel partycji wymiany?
  • Skąd mam wiedzieć, że mam wystarczająco dużo partycji wymiany? Nie za dużo / mało.

Mój komputer Ubuntu służy do typowych czynności:

  • Internet (e-mail, facebook itp.)
  • Niektóre filmy
  • gra jest rzadka
lamcro
źródło
Z tego, co zostało opublikowane, wygląda na to, że mam zbyt dużo zamiany. 3 GB pamięci RAM, 300 GB HD i 8 GB partycji do wymiany.
lamcro
2
Dodatkowa zamiana, której się nie używa, nie zaszkodzi ci, a odzyskanie 1,7% dysku, aby ją zmniejszyć, prawdopodobnie nie jest warte wysiłku. Tak, jest znacznie większy, niż prawdopodobnie będziesz kiedykolwiek używać, nie martwiłbym się tym.
msw
1
Możesz także postrzegać go jako „przyszłościową” partycję wymiany, jeśli kiedykolwiek dodasz dodatkową pamięć do swojego systemu, nie będziesz musiał powiększać wymiany ... :)
JanC

Odpowiedzi:

15

Partycja wymiany służy kilku celom.

  • Służy jako „zapasowa” pamięć RAM. To znaczy, jeśli komputerowi zabraknie pamięci RAM, użyje obszaru wymiany jako tymczasowego źródła większej ilości pamięci. Mówiąc dokładniej, „zamieni” nieużywane elementy z pamięci RAM na obszar wymiany, aby zwolnić miejsce dla aplikacji, które go potrzebują w tym momencie. Nie jest to idealne, ponieważ szybkość przesyłania danych na dysk twardy jest znacznie niższa niż w przypadku normalnej pamięci RAM. W praktyce oznacza to znacznie wolniejsze pobieranie informacji z obszaru wymiany.

  • Służy do hibernacji komputera. Hibernacja polega na zrobieniu zdjęcia pamięci RAM w jej bieżącym stanie (tak jak ISO reprezentuje obraz) i zapisaniu go w obszarze wymiany. Następnie ponownie ładuje ten obraz po ponownym uruchomieniu komputera.

  • Aby być najbardziej użytecznym, obszar wymiany powinien wynosić co najmniej (RAM * 1,5), chociaż zaleca się więcej. Na przykład w moim systemie z 3 GB pamięci RAM mam obszar wymiany wynoszący 7,2 GB.

Richzilla
źródło
Jeśli nie używać coś, że jest idealny do zamiany go na dysku i korzystać z pamięci RAM dla rzeczy, które używasz (na przykład poruszające kubki lub inne demony nie używać bardzo często do wymiany daje większą pamięć do buforowania dysku dane, które faktycznie są często wykorzystywane).
JanC
-1; „(RAM * 1.5), chociaż zalecane jest więcej” - na komputerze stacjonarnym? Powtarzasz konwencjonalną mądrość, która była fałszywa od lat.
@ user280493 Warto zauważyć, że odpowiedź miała lata ... lata temu, kiedy skomentowałeś.
Crisfole
7

Jest to bardzo podobne do pytania dotyczącego „właściwego” rozmiaru partycji wymiany. Obowiązuje wiele takich samych informacji z mojej odpowiedzi - w zasadzie, jeśli chcesz hibernować, ogólnie chcesz, aby przestrzeń wymiany była co najmniej tak duża, jak twoja pamięć RAM, a poza tym łatwo wystarczy okrągła liczba, taka jak 1 lub 2 GB. Ponieważ swap jest o wiele wolniejszy niż pamięć RAM, jeśli zapełnisz wiele gigabajtów swapu, Twój komputer prawie na pewno stał się wyjątkowo wolny.

Nie ma też potrzeby tworzenia partycji wymiany - pliki wymiany (dostępne w głównych systemach plików Linux) zapewniają taką samą wydajność i pozwalają w prosty sposób dodać więcej przestrzeni wymiany, jeśli uznasz, że nie masz dość.

RAOF
źródło
4

tutaj bardzo głęboka informacja o zamianie

niektórzy ludzie mówią o podwójności twojego barana, ale osobiście polecam to:

swap = 1,5 X Total Ram

Przykład:

jeśli masz 2 GB pamięci RAM -> zamiana = 1,5 x 2 = 3

PD: Ubuntu Desktop używa opcji Zamień na hibernację (wyłączony komputer, brak potrzeby zasilania, zapisano stany programu). Jeśli Hibernacja jest dla Ciebie ważna, masz więcej przestrzeni wymiany, a następnie przepełnienie pamięci RAM i wymiany.

hhlp
źródło
2

freeKomenda może powiedzieć, ile zamiana używasz. Na przykład na tym komputerze:

$ free -m
             total       used       free     buffers     cached
Mem:          1947       1863         84         312        758
-/+ buffers/cache:        792       1154
Swap:         4000          3       3997

pokazuje mi, że mam 2 GB pamięci RAM (1947 m) i że system zużył większość z nich. Jednak 312 m jest używane dla buforów we / wy, a pozostała część (758 m) system zdecydował się zapełnić pamięcią podręczną dysku.

Pamięć podręczna dysku jest interesująca, ponieważ używa szybkiej pamięci zamiast wolnego dysku dla swojej zawartości. Zawartość można pobrać z dysku, ale są one przechowywane na wypadek, gdyby były potrzebne. Oznacza to również, że istnieje 758 m pamięci, którą można odzyskać natychmiast, jeśli to konieczne, ponieważ system wie, że zamiast tego może znaleźć te dane na dysku.

Dlatego istnieje druga linia pokazująca, że ​​gdyby nie było buforowania i pamięci podręcznej, miałbym do dyspozycji połowę mojej pamięci RAM (1154m).

Trzecia linia pokazuje, że mam zbyt dużą partycję wymiany (była tam i nic nie robiła), z której użyto ogromnych 3m. Jest to rzecz, której jądro naprawdę nie spodziewa się użyć w najbliższym czasie, więc utknęło na „tylnej werandzie”.

Chociaż freedaje teraz migawkę, vmstatmoże dać bieżące zdjęcie:

$ vmstat 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0   3588  86236 316524 769132    0    0    14    13  126   81  4  1 95  0
 0  0   3588  83872 316532 770512    0    0     0    20  264 1229  3  1 96  0

Jest tam wiele informacji, ale interesujące jest to, że nie ma ruchu typu swap-in (si) lub swap-out (so). Co oznacza, że ​​nie korzystam z wymiany w ciągu ostatnich 10 sekund.

msw
źródło
0
  • Obszar wymiany to część miejsca na dysku twardym wykorzystywana do obsługi ograniczonej pamięci RAM. Pamięć RAM ma ograniczony rozmiar, więc niektóre aplikacje potrzebują więcej pamięci RAM niż dostępna pamięć RAM. W takim przypadku ta przestrzeń wymiany nazywana jest również pamięcią wirtualną używaną do obsługi pamięci RAM.
  • Jest wolniejszy w porównaniu do prędkości RAM. Kiedy uruchamiamy dużą aplikację, wówczas ostatnio używana część tej aplikacji w obszarze Zamień na Obszar wymiany na dysku twardym jest w razie potrzeby przełączana z obszaru Zamień ponownie. Daje to systemowi operacyjnemu wrażenie posiadania więcej pamięci RAM niż jest w rzeczywistości.
  • Jest to dedykowana partycja na dysku twardym utworzona podczas instalacji systemu operacyjnego.
  • Dobrze jest utworzyć obszar wymiany podwójnej wielkości pamięci RAM.
  • Możesz sprawdzić używany i dostępny obszar zamiany za pomocą następującego polecenia:

    $ cat /proc/swaps 
    Filename                Type        Size    Used    Priority
    /dev/sda10              partition   7812092  16      -1
    
Vijesh
źródło
0

Mam laptopa z wolnym dyskiem twardym, ale stosunkowo dużą pamięcią RAM (8 GB). W tej konfiguracji uważam, że napęd wymiany jest bezproduktywny z następujących powodów:

  1. Odzyskiwanie aplikacji z wymiany jest powolne , porównywalne z ładowaniem aplikacji od zera. Wolę środowisko, które reaguje szybko, nawet jeśli oznacza to, że czasami muszę zamykać i ponownie ładować aplikacje, niż środowisko, które czasami mnie nieoczekiwanie zatrzymuje.

  2. Gdybym chciał możliwości hibernacji, oznaczałoby to zapisanie dużej ilości danych na dysku. Byłoby to ciągłym wyczerpaniem baterii, gdyby zostało to wykonane w sposób trwały (domyślne zachowanie zamiany 60), lub jeśli zostało to zrobione tylko w czasie hibernacji (poprzez zmniejszenie zamiany), wtedy rzeczywiście zabrałoby to dużo czasu. Uznałem, że zawieszanie pamięci RAM zamiast zawieszania się na dysku jest całkiem zadowalające. Mógł pozostać zawieszony przez kilka dni i zawieszałby się znacznie szybciej niż pełna hibernacja.

  3. Ponieważ dysk twardy jest wolny, wolę zachować 1 GB pamięci RAM zarezerwowanej na pamięć podręczną dysku , skutecznie wymieniając pamięć na szybkość. To sprawia, że ​​mój komputer jest niezadowolony, ale oznacza to, że mogę używać tylko 7 GB z 8 GB pamięci RAM na aplikacje. Oprogramowanie, którego używam do tego celu, to rozwidlenie wczesnego kręgu, które zabija stare karty przeglądarki, gdy zużywa się 88% pamięci RAM. Czasami muszę ponownie ładować stare karty przeglądarki, które zostały zabite.

Kiedy ta rada nie miałaby zastosowania?

  • Jeśli masz szybki dysk twardy lub dysk SSD i masz mniej obaw związanych z rozładowaniem baterii, wówczas wady, które przedstawiłem powyżej, nie będą miały zastosowania. (Chociaż wczesne dyski SSD mogą mieć problemy ze zużyciem, uważam, że wszelkie dyski SSD sprzedawane od 2018 r. Powinny być w porządku).

  • Jeśli twój komputer ma bardzo mało pamięci RAM lub chcesz używać wielu aplikacji wymagających dużej ilości pamięci w tym samym czasie, być może będziesz musiał użyć swap, aby wykonać swoją pracę, niezależnie od wad. Był to podstawowy przypadek użycia wymiany, zanim pamięć zaczęła być tańsza.

  • Jeśli naprawdę potrzebujesz hibernacji (być może chcesz zawiesić laptopa i otworzyć go ponownie po kilku dniach bez ładowania), potrzebujesz dysku wymiany (zalecanego co najmniej tak dużego, jak pamięć RAM).

Zastrzeżenie:

  • Część oprogramowania, które pozostawiamy uruchomione przez długi czas (szczególnie system operacyjny i środowisko pulpitu) załaduje kod do pamięci, który nigdy nie będzie ponownie używany. Strony te można przenieść do wymiany i nigdy nie trzeba będzie ich wyciągać, unikając w ten sposób wad, o których wspomniałem wcześniej. Z tego powodu czasami tworzę mały plik wymiany 512 MB lub 1 GB i pozwalam na zamianę nieużywanych stron pamięci. To po prostu pozostawia mi trochę więcej pamięci RAM dla aplikacji. (Potrzebne: technika pomiaru rezygnacji z wymiany, aby pomóc dostosować rozmiar tego pliku wymiany).
joeytwiddle
źródło