Jak w pełni wykorzystać pamięć RAM w celu zwiększenia ogólnej wydajności systemu

18

Mam niskoprofilową maszynę, ale z dużą ilością szybkiej pamięci RAM, 4 Gb, co jest naprawdę ilością pamięci, której prawdopodobnie nigdy nie wykorzystam, nawet pół, ponieważ używam tej maszyny do kodowania i przeglądania Internetu.

Dysk twardy jest naprawdę wolny, więc ogólna wydajność jest zła podczas uruchamiania, buforowania lub uruchamiania nowego programu. Zastanawiam się, czy Ubuntu może zapewnić jakieś ustawienia lub narzędzia do rozwiązania tej sytuacji i pozwolić, aby mój system bardziej polegał na wykorzystaniu pamięci RAM.

użytkownik1717079
źródło
1
Wolna pamięć RAM powinna być już używana do buforowania, co jest domyślnym zachowaniem. Jednak dane muszą być najpierw odczytane ze stosunkowo wolnego dysku twardego, a jedynym sposobem na przyspieszenie jest użycie szybszego dysku lub dysku SSD. Przepraszam, dzisiaj nie ma magii. PS: Ubuntu używa ureadaheaddo profilowania procesu rozruchu i uczynienia go tak szybko, jak to możliwe.
mikewhith
2
Ponadto 4 GB to niewiele na nowoczesnym komputerze. Nowoczesne strony internetowe są pełne skomplikowanego javascript i zawierają wiele danych, co może powodować, że przeglądarka dość szybko zużywa pamięć. Wielokrotnie widziałem, jak Firefox zbliża się do wielokrotnego użycia pamięci rezydentnej.
dobey,
@dobey z mojego doświadczenia, javascript wymaga więcej procesora niż pamięci RAM.
user1717079,

Odpowiedzi:

11

Powinieneś zainstalować Preload, który wstępnie załaduje oprogramowanie, którego najczęściej używasz w pamięci RAM (dowie się, które oprogramowanie wstępnie załadować samodzielnie). To bardzo łatwe do skonfigurowania:

sudo apt-get install preload

Prawdopodobnie nie musisz go dotykać, ale jeśli chcesz, możesz edytować opcje w /etc/preload.conf

Ugo
źródło
Zauważyłem również istnienie tego narzędzia do wstępnego linkowania, spróbuję tego, dzięki.
user1717079,
2
@ user1717079 - Należy pamiętać, że wstępne ładowanie nie przyspieszy rozruchu, a większość buforowania powinna być już wykonana w pamięci RAM.
Shauna,
1
Wstępne ładowanie nie przyspieszy ani rozruchu, ani procesów buforowania, ponieważ zależą one w dużej mierze od prędkości dysku twardego.
mikewhthing
podczas gdy jesteśmy w temacie prelinkowania, prelinkowanie nie daje zauważalnego wzrostu wydajności, patrz smackerelofopinion.blogspot.co.uk/2009/06/…
Colin Ian King
@ColinIanKing będę szczęśliwy, jeśli tylko może dać mi małą przewagę pod względem wydajności, czasy rozruchu nie są takie złe, problem polega na tym, że zwykle są opóźnione lub zajmuje to zbyt dużo czasu, aby załadować nowy program. Będę używał wstępnego ładowania i wstępnego linku przez kilka dni, zobaczmy, czy wszystko się zmieni
user1717079,
10

Możesz dodać następujący wiersz, /etc/fstababy zamontować /tmpkatalog w pamięci RAM.

tmpfs / tmp tmpfs domyślne, noatime, nodiratime, mode = 1777 0 0

Można to zrobić również w przypadku innych katalogów. Np. Podczas kompilacji kodu możesz umieścić folder, w którym pliki obiektów są umieszczone i połączone z pamięcią RAM.

Ale uważaj. Dane w folderach zamontowanych w ten sposób zostaną utracone przy każdym wyłączeniu. Miej to w pamięci.

Oprócz mojej wiedzy istnieje wiele innych pomocnych zasobów dostępnych na ten temat. Na przykład ten wątek .

Causeon
źródło
dziękuję, ale ramdysk jest nieco inną rzeczą, ale doceniam twoją wskazówkę, ponieważ przyda się później. Moim największym problemem jest teraz to, jak szybciej uruchamiać moje aplikacje, a nie jak przyspieszyć mój system plików.
user1717079,
Tak, ale uznałem, że warto o tym wspomnieć, ponieważ masz 4 GB pamięci RAM, a użycie folderów RAM poprawiłoby jakość przeglądania, jeśli powiesz firefoxowi, aby używał ich do pamięci podręcznej i innych rzeczy.
Causeon 10.10.12
6

Co to jest RAM?

Pamięć RAM lub pamięć o dostępie swobodnym jest rodzajem systemu pamięci zwanego pamięcią ulotną . Oznacza to, że przechowuje dane tylko wtedy, gdy ma moc. Innymi słowy, wszelkie zmiany, które wprowadzisz, jeśli nie zapiszesz go w trwałym urządzeniu pamięci masowej, zostaną utracone w dowolnym momencie, w którym RAM traci moc.

Co to jest dysk twardy?

Dyski twarde lub dyski twarde (lub dyski twarde) to inny typ systemu pamięci masowej znany jako pamięć trwała . Oznacza to, że dane pozostają nawet po pozbawieniu zasilania. Do tej kategorii należą również dyski CD, DVD, dyskietki i napędy USB.

Co się stanie, gdy uruchomię, zapisz w pamięci podręcznej lub uruchomię nowe programy?

Aby utrzymać system między ponownymi uruchomieniami, system operacyjny musi zapisać to, co ma w pamięci RAM, w trwałym urządzeniu magazynującym, zwykle głównym dysku twardym. I odwrotnie, aby przywrócić te informacje lub uruchomić aplikacje, musi załadować te dane do pamięci RAM z urządzenia pamięci masowej. Dzieje się tak nawet w przypadku płyt CD na żywo, mimo że wszystko działa w pamięci, musi najpierw odczytać wszystko z płyty CD (lub napędu USB). Dzieje się tak również z narzędziami / pomysłami powodowanymi przez Ugo, ponieważ w pewnym momencie dane muszą zostać odczytane z dysku lub zapisane na dysku w celu zachowania go pomiędzy kolejnymi uruchomieniami (w szczególności Preload nie poprawi czasu uruchamiania ).

Jeśli masz szybką pamięć RAM, wąskie gardło znajdzie się gdzieś w procesie odczytu z / zapisu na dysk, zwykle albo z szybkością połączenia danych, albo z szybkością napędu.

Co mogę zrobić, aby poprawić szybkość tych operacji?

Aby poprawić szybkość wszystkich trzech wymienionych operacji, musisz dokonać aktualizacji sprzętu.

Uzyskaj szybsze połączenie. Równoległe połączenia ATA (PATA, szara wstążka w starszych urządzeniach) będą wolniejsze niż połączenia SATA (Serial ATA, nowsze, mniejsze kable). Jeśli możesz, ale nie możesz, uaktualnij do dysku SATA. Jeśli wybierzesz trasę napędu USB (opisaną poniżej), upewnij się, że używasz napędu i portu USB 2.0 (lub jeszcze lepiej, jeśli chodzi o szybkość, 3.0) . Urządzenia i porty USB będą taktować się wolniej, więc nawet jeśli masz port 3.0, jeśli urządzenie to 2.0, dostaniesz tylko 2,0 prędkości.

Uzyskaj szybsze urządzenie pamięci masowej. Dyski twarde oparte na talerzach są mierzone w obr./min. I zazwyczaj występują w trzech prędkościach - 5400 obr./min, 7200 obr./min i 10 000 obr./min. Jeśli masz napęd o prędkości 5400 obr./min, zaktualizuj go do co najmniej 7200. Ponadto dyski półprzewodnikowe (w tym dyski USB) są szybsze niż dyski oparte na talerzach. Jeśli możesz sobie na to pozwolić, przejdź na dysk SSD. Alternatywnie możesz zainstalować Ubuntu na dysku USB i uruchomić go stamtąd (pamiętaj jednak, że taka konfiguracja będzie ograniczona do prędkości twojego portu USB, więc upewnij się, że używasz przynajmniej portu USB 2.0 i napęd).

Shauna
źródło
1

spróbuj zram (niegdyś nazywany compcache), jest to skompresowana zamiana w pamięci!

pakiet dla Ubuntu 12.10 jest zram-config, nie ma potrzeby uruchamiania.

swapon -s pokaże coś takiego:

Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       1023860 0       -1
/dev/sdc4                               partition       976892  0       -2
/dev/zram0                              partition       761876  0       5
/dev/zram1                              partition       761876  0       5
/dev/zram2                              partition       761876  0       5
/dev/zram3                              partition       761876  0       5

Mam 6 GB pamięci RAM i 4 rdzeń procesora, więc jedna zamiana na każdy rdzeń, wykorzystując w sumie połowę pamięci RAM! (nie bez powodu)

Przeczytaj, co ppl mówi o compcache i zram!

cóż, jeśli używasz non-zram, uruchom lub spróbuj, IYKWYAD (jeśli wiesz, co robisz), zamień je, aby zobaczyć, jak zram są wypełnione i poprawić ogólną wydajność.

Wodnik Moc
źródło
btw, moja obecna konfiguracja ma każdą z moich wymiany ZRAM (dla każdego rdzenia) z 250 MB, więc w sumie 1 GB na 4 rdzenie. Uważam, że działa lepiej niż pozwalając zramowi na użycie połowy (3 GB) mojej całkowitej pamięci, myślę, że dzieje się tak, ponieważ zmniejszy to wymianę na dyski twarde / ssd, jeśli pozwolę niektórym aplikacjom wymagającym dużej pamięci na użycie większej ilości prawdziwej pamięci. Zamykam również wiele innych aplikacji wymagających dużej ilości pamięci, które tak naprawdę nie są potrzebne do ciągłego działania.
Wodnik Moc