Wady braku partycji wymiany


8

Niedawno zainstalowałem Ubuntu 10.04 na moim laptopie. Z powodu ograniczenia miejsca na dysku SSD nie ustawiłem partycji wymiany dla systemu operacyjnego i mam 1,5 GB pamięci RAM.

Podczas instalacji pojawia się ostrzeżenie, ale myślę, że to nie jest wielka sprawa, ponieważ wszystko poszło gładko.

Czy w dłuższej perspektywie będą jakieś wady braku partycji wymiany?


2
Gparted z przyjemnością wykona kilka operacji na dysku roota i zrobi to z łatwością i aplauzem.
msw

Odpowiedzi:


6

Myślę, że jeśli mam napisać odpowiedź na pytanie, najpierw muszę trochę wyjaśnić całą sprawę wymiany plików. Wybacz mi za mój długi wiatr.

Swapfile / swap-partition, podobnie jak plik stronicowania w systemie Windows, to miejsce na dysku twardym przeznaczone do lepszego wykorzystania pamięci. Istnieją dwa zastosowania przestrzeni wymiany.

  1. Jeśli nie ma wystarczającej ilości pamięci dla wszystkich aplikacji - w przypadku, gdy zdarza się to w systemie bez obszaru wymiany, spowoduje to nieprzydzielenie pamięci dla nowej aplikacji żądającej nowych stron pamięci - co zwykle skutkuje zakończeniem programu.

  2. Kiedy niektóre strony pamięci (pamięć jest podzielona na „strony”) były używane jakiś czas temu, ale nie są już używane, zostaną przeniesione na plik wymiany, a pozostała pamięć może zostać wykorzystana do zrobienia czegoś innego, co może być bardziej przydatne ( np. nawet buforowanie!) - gdy zdarzy się to w systemie bez obszaru wymiany, spowoduje to, że bezczynne strony pozostaną w pamięci. Nie jest to jednak nic poważnego, ponieważ mamy obecnie dość dużą pamięć.

A zatem, teraz mamy wymienione zastosowania partycji wymiany / partycji wymiany, ile zwykle jest wskazane? - zależy to od funkcji maszyny. Jeśli jest to komputer stacjonarny, ustaw wartość 1-1,5x pamięci. Jeśli jest to serwer, zrób to samo, ale zwróć uwagę na użycie swap, jeśli jest intensywnie używane, zaktualizuj pamięć.

Jak zauważyli inni, gparted może pomóc ci wykroić kilka koncertów z partycji ext2 / ext3, ale możesz także użyć pliku wymiany:

dd if=/dev/zero of=/swapfile bs=1024 count=1048576
mkswap /swapfile
swapon /swapfile

Powinieneś mieć

swapfile none swap sw 0 0

na fstabcelu zapewnienie, że używany na każdym restarcie

I jeszcze jedno: jeśli nie masz nic przeciwko posiadaniu swapspace, ale chcesz zminimalizować użycie, chyba że twoja pamięć jest naprawdę rozciągnięta, możesz zmienić „swapiness” jądra poprzez zmianę /proc/sys/vm/swappiness(wartości, 0-100; domyślnie, 60).


Swap może być inny niż podany, np. Partycja wymiany służy do automatycznego przechowywania pliku zrzutu awaryjnego. Ponadto rozmiar pamięci 1-1,5x nie jest wartością powszechnie akceptowaną. Teoretycznie komputer z większą pamięcią potrzebowałby mniej pamięci do wymiany, ponieważ miał X pamięci RAM i potrzebował Y więcej pamięci RAM, może być w stanie zmieścić tę dodatkową pamięć w dostępnej pamięci RAM zamiast wymiany.
TOOGAM

@TOOGAM to było w 2010 roku, kiedy ludzie używali rzeczy takich jak 2-4 GB pamięci RAM na pulpicie.
bubu


3

Jeśli zabraknie ci pamięci, twoje programy mogą mieć nieprzewidziane zachowanie. Czasami jądro zaczyna upuszczać pamięć w przypadkowych miejscach . Jądro zacznie upuszczać procesy o niskim priorytecie.

Żadna pamięć wirtualna nie może oznaczać dużych problemów, zwłaszcza jeśli zacznie upuszczać pamięć po zabiciu ważnych dokumentów, nad którymi trwają prace.


3
Stanie się tak bez względu na to, czy dokonałeś zamiany.
Ignacio Vazquez-Abrams

2
W rzeczywistości jądro nie „zacznie upuszczać pamięci w przypadkowych miejscach”. Raczej zrobi to, co trzeba, i zacznie zabijać procesy uważane za „mniej ważne”, dopóki sytuacja się nie poprawi. Dokonuje tego „zabójca OOM”. Patrz np linux-mm.org/OOM_Killer
sleske

Poprawiono mnie.
Nitrodist,

0

Po instalacji sprawdź zużycie pamięci podczas wykonywania operacji wymagających dużej ilości pamięci lub po prostu otwierania „dużych” aplikacji, takich jak Openoffice.org, dekompresowania plików itp. Jeśli zauważysz, że całkowita wykorzystana pamięć wynosi prawie 1,5 GB, to prawdopodobnie dobrym pomysłem jest posiadanie partycji wymiany lub pliku wymiany, na wypadek, gdybyś wygodnie uruchomił coś, co zużywa dużo pamięci, a Ubuntu zaczyna upuszczać ważną pamięć, a może nawet części jądra (źle, naprawdę źle).


Ciekawe, czy w ogóle możliwe jest, aby Linux upuszczał części jądra w celu zwolnienia pamięci dla uruchomionych procesów?
Igor Zinov'yev

Prawdopodobnie nie, ale wiesz, co mam na myśli ...
Hello71

AFAIK, samo jądro Linuksa zawsze pozostaje w pamięci. Jest ładowany jako pierwsza część sekwencji rozruchowej i pozostaje; pamięć nigdy nie jest uwalniana ani nawet zamieniana. Możesz jednak ładować i zwalniać moduły, a ta pamięć zostanie zwolniona (tak mi się wydaje), ale zwykle jest to zaledwie kilkadziesiąt kb na moduł. Jądro utrzymuje również różne wewnętrzne struktury danych i bufory, może być w stanie uwolnić niektóre z nich (choć nie jest to pewne).
sleske

0

Nie jest to kompletna odpowiedź, ale oto historia jednej rzeczy, która naprawdę mnie zaatakowała, nawet gdy myślałem, że mam wszystkie możliwe minusy pod kontrolą:

/programming/4567972/error-executing-aapt-all-of-the-sudden Podsumowując, niektóre narzędzia uruchamiane z naprawdę dużych procesów / aplikacji Java nie zawsze będą działać. Jednak większość zwykłych użytkowników tego nie spotka.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.