24

Ubuntu i szybkość: ilość RAM a swap

UbuntuW czasach, gdy 1 GB RAM jest już właściwie standardem, swapy stają się najzwyklejszymi zamulaczami. Podczas normalnego, przeciętnego użytkowania systemu zwykle na partycji wymiany zalega od kilkunastu do kilkudziesięciu MB danych – w porywach do ponad stu. Im większe zajęcie swap, tym ciężej systemowi się rozbujać.

Wyliczyłem sobie, że chyba cud musiałby się stać, aby po wyłączeniu swap-u brakło mi RAM-u. Zaryzykowałem (ryzyko żadne, ale mówić trzeba o nim w kontekście każdego eksperymentu) i zainstalowałem na nowo ten sam system – Ubuntu 8.10 – tym razem jednak odmawiając mu prawa do partycji wymiany. Pamiętałem dobrze, jak hulał ze swapem: co jakiś czas występowała zamułka spowodowana wyciąganiem przez system jakiejś swapowej drobnicy.

Nową, bezswapową instalację popełniłem na jednej partycji (/, /home itd. w jednym). Uruchomiłem, poklikałem, poużywałem, podziałałem i po paru godzinach uznałem, że swap jest niepotrzebnym balastem – przeżytkiem wymyślonym laaata temu, który w czasach dzisiejszych nie pozwala rozwinąć Tuxom skrzydeł.

Nie wiem jak w serwerowych i innych niekonwencjonalnych dla desktopowców zastosowaniach, ale w domowych swap jest swoistą kotwicą, której ciężar jest wprost proporcjonalny do ilości danych jemu powierzonych.

Jeżeli posiadasz ponad 1 GB pamięci RAM, możesz śmiało wypierdzielić partycję wymiany. Zrezygnuj i niech te drobiazgi oddelegowane na swap nie będą za każdym razem wyciągane z dysku; niech siedzą w najszybszej pamięci komputera i niechaj całość się bez zająknięcia buja!!!

Ale wcześniej sprawdź, jak u Ciebie wygląda zużycie pamięci i partycji wymiany. Obserwuj, sumuj i analizuj, byś później nie miał do mnie pretensji ;) Ja se mam 1,5 GB RAM: zwykle system zajmował od 220 do ponad 400 MB RAM (przy włączonych programach), a na swapie zalegało najczęściej 20-60 MB różności. Rachunek więc prosty :)Po pozbyciu się partycji wymiany Ubuntu z Gnomem buja się szybciej, szybciej się wyłącza, ale chyba w takim samym tempie włącza. Chyba, ponieważ nie mam w zwyczaju chrzcić wszystkiego stoperem. Te wnioski, że działa szybciej mierzę swoją własną, subiektywną miarą: poziomem mojej irytacji i rozdrażnienia poszczególnymi zachowaniami systemu. Gdy był swap, to kupa rzeczy mnie denerwowała, np.:

  • wystarczyło przez kilkadziesiąt minut nie korzystać z menu, by po raz enty system musiał szukać ikonek na dysku i z powrotem ładować je na listę
  • zminimalizowane na dłuższy czas okno maksymalizowało się z ociąganiem
  • przy byle okazji szemrał dysk i świeciła dioda, za pomocą której twardziel informuje, że znowu ma coś do roboty

Razem ze swapem w niepamięć poszły powyższe punkty. Szkoda, że w Windowsie tak się nie da (niby RAM jest efektywnie wykorzystywany, a jednak plik wymiany stale tyje i tyje).

Wczoraj zainstalowałem Ubuntu 9.04 RC – bez swap, rzecz jasna. Szybka jest bestia, cholera, dużo szybsza od 8.10. Coraz mniej mu brakuje do zoptymalizowanego XP :) Żeby tak jeszcze…

Podziel się tym wpisem na:
  • Facebook
  • Wykop
  • Śledzik
  • Twitter
  • Blip
  • Gadu-Gadu Live
  • Flaker
  • email

24 komentarzy

  1. Nie łatwiej ją po prostu odmontować ręcznie i wykomentować w /etc/fstab? Ewentualnie ustawić poprzez sysctl vm.swappiness na 1 (lub 99, nie pamiętam ;) )

    Swap się przydaje, gdy potrzebujemy zahibernować system.

    W Windows też przecież można wyłączyć swap. W czym problem?

  2. Można odmontować, ale co z tym pozostałym po swapie kawałkiem dysku? Scalić z inną partycją? Jeśli jest taka mozliwość, to tak.

    A co do Windows… teoretycznie można, ale spróbuj w praktyce :D ja się srogo rozczarowałem :)

  3. @pit2001, nowy serwer X = jest lepiej. O ile lepiej w odniesieniu do laptów? Wiele na ten temat nie jestem w stanie napisać, bo nie mam notebooka. Za to na PieCu mam GeForce’a, do tego podpięty LCD 19″ i 9.04 dużo lepiej ten tandem wykrył, niż poprzednie wersje.

    W starszych Ubuntu zwykle musiałem w xorg.conf poprawiać rozdzielczość, a tu wszystko na starcie ładnie się poustawiało. Oczywiście na powitanie otwarte stery, ale instalacja tych nVidii to raptem 2-3 kliki + restart X-ów.

    Wśród nowości w 9.04 wymieniano nowy serwer X-ów i jego funkcję dopieszczania czcionek do konfiguracji sprzętu. To działa – przynajmniej u mnie. Z automatu rozdziałka jak trzeba, fonty z wygładzaniem podpikselowym (dla LCD) – co we wcześniejszych Ubuntu musiałem ręcznie ustawiać.

  4. O ile mi wiadomo to SWAP może być wykorzystywany przez system ale nie musi. Więc jeśli ktoś ma sporo pamięci to generalnie SWAP nie powinien być używany. Poza tym moim zdaniem zawsze lepiej go ustawić jak by potem miało zabraknąć.. Ciekawe, że zauważyłeś aż taką różnicę w działaniu. Chyba z ciekawości sam sprawdzę.

  5. Ha! Po kilku latach przerwy wróciłem jakiś czas temu do eksperymentów z Pingwinem :) Dla rozrywki i oddechu od codziennej roboty a także dla zrównoważenia technologią filozoficznych i szamańskich perspektyw :) Za jakiś czas pewnie walnę u siebie jakąś notę podsumowującą owe eksperymenty. Fajnie, że napisałeś o tym rzerzącym swapie :) Mam na lapku 4 GB RAMu więc chyba się nie zawalą procesy jak pozbawię je tych 512 dodatkowych MB RAMosa :)))) Wywalam swapa :)

  6. @Sasni, takiej różnicy nie dało się nie zauważyć, bo (przynajmniej w moim przypadku) była uderzająca. Wcześniej np. wkurzało mnie właśnie to, że czasem musi te całe ikonki do menu ładować z dysku po kilka razy w ciągu jednej sesji. Bez swapu tego nie robi, więc nie było szans, bym tego mnie zauważył ;) To tylko jeden z przykładów. Nie ma to, jak samemu wypróbować :)

    @Jacenty, liczę na to, że podzielisz się wrażeniami po wywaleniu swapu ;) Kurczę, myślę, że możesz poczuć jeszcze większą różnicę, bo zwykle w lapach dyski są wolniejsze ;)

  7. Zrobiłem testy bez swapa. Na mojej docelowej ultra lekkiej konfiguracji – minimalny Debian + FluxBox różnicy raczej nie zauważyłem. Ale na hiper ciężkich dystrybucjach – Mandriva 2009 i Open Suse 11.1 z KDE 4 bez swapa śmiga znacznie lepiej :) Uruchomiłem w KDE chyba wszystskie możliwe aplikacje, żeby zrobić duże obciążenie i system się nie zawalił. Z pewnością na serwerze lepiej mieć zabezpieczenie w postaci swapa ale na desktopie zdaje się ono faktycznie całkowicie zbędnym balastem, zwalniającym uruchamianie się aplikacji. W efekcie na mojej docelowej konfiguracji z Debianem pozostawiłem na wszelki wypadek 128 MB swap. Zebrałem się też wreszcie :) do opisania u siebie moich doświadczeń z Pingwinem :)
    Pozdrawki :)

  8. Wieczorkiem do Ciebie zajrzę, bo teraz już nie zdążę ;) Twoje doświadczenia i wnioski pokrywają się z moimi: rezygnacja ze swapu na rzecz RAM sprawdza się właśnie tam, gdzie jest włączona kupa usług, apletów i różnych różności (Ubuntu też jest taką choinką, dlatego w jego przypadku różnica jest tak odczuwalna). Swoją drogą, Debian sam z siebie zawsze dobrze się bujał :)

    Cholernie ciekaw jestem poprawy z OpenSUSE, ale chyba nie skuszę się na własny teścik. Mam uraz do tej dystrybucji: dwie jej instalacje i za każdym razem rozwalona tablica partycji. Może przy okazji wiekszego przemeblowania na dysku, o ile, rzecz jasna, nie zapomnę :)

  9. Hmm… A ile Ci średnio tego swapu zjadał? Bo teoretycznie swap powinien być używany gdy ram się kończy.

    Spojrzałem w swojej Fedorce na Lenovo R61i z 2 giga ramu i zużywa mi 1,5 mega. Więc usunięcie swapa i tak by nic nie dało, bo raczej te 1,5 mega nie zrobi różnicy.

    Sprawdziłem też komp obok na mandrivie z 1 giga i po 5 dniach ciągłego chodzenia jest zużyte 20 mega swapa.

    Wniosek z tego taki, że Ubuntu oraz Debian mają inną politykę a’propos swapa i jego wyłączenie na niektórych kompach nie zrobi żadnej różnicy.

  10. Przyznam szczerze, że wcześniej nie interesowałem się Twoimi wpisami dotyczącymi pingwina. No bo i po co, skoro non stop jedzie się na widzie. Ale teraz przyszły wakacje i postanowaiłem się trochę pobawić. Pobrałem sobie najnowsze Ubuntu ( 9.04) i wypaliłem iso. Jako, że kolejnym krokiem jest instalacja postanowiłem poczytać trochę tutków w necie. Niby lubie intalować różne rzeczy na spontana, ale tym razem nie mam zamaru stracić danych ( a szczególnie zdjęć). Po obejrzeniu prezentacji na dobrych programach przypomniałem sobie, że coś pisałeś już wcześniej o linuxie i mam pytanie co do tego swapu.

    Jestem raczej zielony w tym temacie, ale wiem, że trzeba taką partycję stworzyć. I muszę przyznać, że zaintrygowałeś mnie tym wpisem. Bo skoro ma działać szybciej to ciekawie może być. Tyle, że to będzie moja pierwsza instalacja systemu z pod znaku linux i boję się żeby czegoś nie skopać. I tu pojawia się moje pytanie:

    Mając 2.5 GB RAM mogę mieć problem ze swap? Z tego co piszecie chyba nie. Ale pytam bo chce wiedzieć jakie mogą być EWENTUALNE konsekwencje w pracy sytemu po „wyrzuceniu” tej pratycji.

    Po za tym jeśli jest cos o czym powinienem wiedzieć jeszcze przed instalacją to było by miło gdybyś napisał… :)

  11. @Grzybu, napiszę Ci tak: jeśli instalujesz Ubuntu na laptopie, to swap Ci się przyda. Jeśli na PC i nie planujesz żadnych hibernacji ani tym podobnych akcji, to śwmiało wywal swap. A właściwie to nie tyle wywalaj, co w ogóle nie twórz. Ubuntu bez swapu zainstaluje się, jedynie podczas partycjonowania wyświetli komunikat z informacją o braku przestrzeni wymiany, ale po kliknięciu OK/Dalej (nie pamiętam, jaki napis zdobi przycisk), instalacji będzie kontynuowana. 2,5 GB masz, to się nawet nie pytaj, czy Ci wystarczy ;) Mi połowa z tego na lajcie starcza :)

  12. To teraz ja mam serię pytań. Po pierwszy czy przy 1GB ram potrzebuję SWAP? A jeśli tak to ile? I czym jest ten SWAT? Bo Grzybu u niebie na blogu (http://grzybublog.wordpress.com/2009/07/16/ubuntu-chyba-nie-dla-mnie/) podlinkowałem prezentację instalacji linuksa, gdzie jest takie slajd(mniej więcej) „partycja SWAT = partycja wymiany z Windowsem” ?:/ A ja do dej pory myślałem iż SWAP to po prostu odpowiednik pamięci wirtualnej z Win, do rzucania rzeczy z RAM na dysk.

    A teraz najważniejsze pytanie, jak zainstalować Ubuntu/Ubuntu Live na 8Gb USB, tak by mi działał jak prawdziwy linux, a jednocześnie nie przesadzał na kompie (uruchamiany jako botowalne usb via Ubuntu Live z CD)

  13. 1 GB RAM powinien wystarczyć, właściwie jeszcze nigdy nie widziałem, aby Linux mi tyle zjadł. Z KDE4 może nie być tak kolorowo, ale przy Gnome luzik i jeśli z jednego giga zje Ci połowę, to będzie sukces :)

    Co do swat – lata temu się z tym określeniem spotkałem i o ile dobrze pamiętam, to tak określano partycję z systemem plików FAT, którą bezproblemowo obsługiwały obydwa systemy. Dziś ubuntu nie ma problemów z ntfs, więc swat jest zbędny.

    System na USB? Jeszcze nie próbowałem – le zamierzam :)

  14. Ooo to opisz, bo właśnie przymierzam się do takich spreparowanych USB. Pierwszy to ten z linuxem.
    A drugi to taki ratunkowo instalacyjny. Bo mam CD z programami ratunkowymi które nie raz mi uratowały tyłek. Ale nie uśmiecha mi się w krytycznych sytuacjach ponownie instalować eXPeka. Szczególnie iż po jego płytkę tak rzadko sięgam, iż wcześniej potrzebuję do 1h by ją znaleźć lub ściągnąć ponownie (wbrew pozorom działam na legalnym XPeku, tylko instalatory mam nielegalne). I ponoć z USB windows instaluje się szybciej (przynajmniej w etapie kopiowania elementów).

  15. pewnie opiszę, ale nie porafię podać – nawet w bliższym przybliżeniu – terminu testów i relacji z nich. Tak więc za bardzo na mnie w tej materii nie licz, bo jeśli coś się ojawi, to wtedy, kiedy się pojawi :)

  16. Oj mistrzu, kiepsko rozumujesz. Wiesz do czego służy swap? To nie jest dodatkowy RAM! Gdybyś zadał sobie trud choćby zerknięcia na wikipedie wiedziałbyś po co Ci swap. Jednym z podstawowych zadan systemu operacyjnego jest przydzielanie pamięci procesom. Algorytm tego zadania jest tak skomplikowany ze niektorzy piszą doktoraty na ten temat. Co, gdzie, jak i komu przydzielić nie jest więc decyzją użytkownika tylko systemu. Spróbuj zeskanować sobie na 1200dpi kartke A4 to zobaczysz po co istnieje SWAP.

  17. @Zbooj, Mistrzu, ja dotkoratów nie piszę, tylko opisuję swoje subiektywne odczucia – to raz. Poza tym, odkąd pamiętam, RAM i swap były ze sobą ściśle związane – te zasady, aby ilość swapu była dwukrotnością RAM, debata nad rezygnacją z partycji wymiany w dobie gigabajtów RAM-u. No i własne obserwacje. Dlaczego, gdy miałem 256 MB RAM, zajętość swap sięgała nawet do 300MB, a codziennością było po 80-150MB, a przy 1,5GB RAM ta sama dystrybucja w taki sam sposób wykorzystywana na swap wrzucała zaledwie po kilka-kilkanaście MB?

    Jeśli faktycznie twkię w błędzie, to wytłunacz (nie tylko mi) to jasno – bez wydruków A4 i ich rozdzielczości.

  18. Zacytuję za wiki:
    Służy do tymczasowego przechowywania danych w sytuacji, gdy ich ilość przekracza zasoby wolnej pamięci RAM lub gdy z różnych powodów korzystniej jest przechowywać je (lub ich część) na dysku twardym. Należy pamiętać że systemy typu UNIX od dawna są wielowątkowe i umożliwiają priorytetowanie zadań i użytkowników. Zadania mniej ważne mogą zostać zapisane na partycji SWAP, udostępniając całą moc obliczeniową komputera dla ważniejszych procesów. Wielkość zakładanej partycji SWAP uzależniona jest od wielkości fizycznie dostępnej w komputerze pamięci RAM, przeważnie jest ona dwa razy większa. Przy większej niż standardowa dostępności pamięci RAM, wielkość partycji SWAP może być symboliczna (np. 100 MB), nie mniej, nie można z niej zrezygnować.

    Ja rozumiem, że Ubuntu to jest straszny wół ale są lepsze sposoby, żeby przyspieszyć sobie system np. przekompilowanie kernela.

    A co do tego swap, narzuca mi sie analogia. Wykręć sobie z łyżworolek po 2 kółka z każdego buta. Na prostej powierzchni pojedziesz szybciej ponieważ zmniejszyles tarcie. Ale kazdy krawężnik skutkować będzie glebą na twarz.

    Apropos jeszcze doktoratów. Ktoś je pisze, żeby specjalizować się w pewnej dziedzinie i swoją wiedzą dzielić się z innymi. Jeśli taki specjalista wymyślił, że potrzebny Ci swap to ja ani nikt inny tego nie kwestionuje. No chyba, że szukasz jakiegoś lobbingu ze strony producentów dysków.

  19. Ale bzdurki. Swap jest używany TYLKO kiedy brakuje Ci w danym momencie wolnego RAMu. Rezygnując z niego nic nie przyspieszasz kiedy RAMu wystarcza, a nie pozwalasz systemowi uruchamiać uruchamiać nowych aplikacji/alokować pamięci kiedy RAM jest w pełni wykorzystany. Nic dziwnego, że w Windowsie Swapa nie da się wyłączyć, bo to de facto strzał w kolano. Jeżeli twój system uzywał SWAPa kiedy ‚starczało Ci’ RAMU to coś nie tak w konfiguracji.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.