Czy komputery z większą ilością pamięci RAM są potencjalnie szybsze, jeśli nie cała pamięć jest zwykle używana?

85

Powiedzmy, że mam komputer z 16 GB pamięci. Jeśli mój komputer zwykle używa tylko około 4 GB i nigdy nie osiąga 8 GB, czy jest to szybsze niż komputer z tylko 8 GB (tego samego typu) pamięci? Czy mój komputer będzie działał równie szybko, usuwając drugą połowę 16 GB, pozostawiając tylko 8 GB?

Keavon
źródło
17
Część trudności tego pytania polega na tym, że określenie „w użyciu” jest trudne do zdefiniowania dla każdego nowoczesnego systemu operacyjnego z pamięcią wirtualną i plikami mapowanymi na pamięć. Na przykład, czy segment kodu („tekstowy”) wykonywanego programu jest „używany” lub „buforowany”?
R ..
5
Różne systemy operacyjne różnie zarządzają pamięcią. W pytaniu nie wskazano żadnego systemu operacyjnego. Termin „używa” może również oznaczać różne rzeczy. Złe pytanie, wybrano jeszcze gorszą odpowiedź.
Jason
Mniejsza pamięć jest potencjalnie szybsza, ponieważ sterowniki adresów pamięci są mniej obciążone. W praktyce jednak wątpię, aby prędkości zegara były dostosowane do tego, aby to uwzględnić, więc nie byłoby różnicy. (Zakłada się, że „dodatkowa” pamięć RAM po prostu by tam siedziała jak bryła i nie zostanie w jakiś sposób wykorzystana.)
Daniel R Hicks
3
To pytanie naprawdę wymaga definicji „w użyciu”. Każda odpowiedź (jak obecnie akceptowana), która twierdzi, że pamięć podręczna mówi o wykorzystaniu pamięci. Jest to prawdopodobnie bardziej użyteczna definicja, ale pomocne byłoby oddzielenie różnych zastosowań pamięci. Zakładam, że nie chcielibyśmy dyskutować, czy całkowicie nieużywana pamięć pomaga ...
Nanne,
Zauważ również, że posiadanie dodatkowego drążka ram powoduje, że jest szybszy, ponieważ oba powinny być dostępne równolegle.
Tyzoid

Odpowiedzi:

112

Tak, ponieważ system operacyjny może wykorzystać dodatkową pamięć RAM jako pamięć podręczną dysku, co przyspiesza dostęp do danych na dysku.

Dodatkowa pamięć RAM nie przyspieszy jednak obliczeń związanych z procesorem (niewymagających dużej ilości operacji we / wy dysku).

Wyzard
źródło
31
Dowolna pamięć RAM, która nie jest używana do innych celów. (Chyba że masz więcej pamięci RAM niż miejsca na dysku, co jest mało prawdopodobne).
Wyzard,
30
Linux tak. Byłbym zaskoczony, gdyby Mac OS nie zrobił tego samego. Głupio byłoby tego nie robić.
Wyzard,
9
„Nie pokazuje” gdzie? Uruchom freew systemie Linux i spójrz na kolumnę „buforowaną”. Niektóre aplikacje wyższego poziomu (takie jak GNOME System Monitor) nie zgłaszają pamięci podręcznej jako „w użyciu”, ponieważ pamięć RAM jest dostępna do użytku przez inne programy; jądro może w dowolnym momencie odrzucić pamięć podręczną.
Wyzard,
4
@PTwr - w takim przypadku system operacyjny powinien buforować te pliki i nie powinien przyspieszać zbytnio - dysk RAM może pomóc, jeśli piszesz - ale zmierz różnicę prędkości, aby zobaczyć, czy jest tego wart
użytkownik151019
7
@khajvah linuxatemyram.com
Dan Neely
59

Ponieważ każdy system operacyjny zarządza pamięcią inaczej i nie podano żadnego, odpowiem w kontekście systemu Windows 7.

Poniżej znajduje się przykład z komputera z 24 GB pamięci RAM. Mimo że obecnie tylko 7 GB jest przydzielone jako pamięć „W użyciu”, kolejne 10 GB jest przydzielone jako pamięć „Czuwanie” i zawiera dane, które mogą, ale nie muszą być ponownie odczytane. Jeśli zostanie odczytany, twój komputer będzie „szybszy”. „Wolna” pamięć nie jest w tej chwili wykorzystywana.

Monitor zasobów

  • „Dostępny” to tryb gotowości i wolna pamięć. Innymi słowy, cała pamięć nie jest obecnie wymagana.
  • „Buforowane” to pamięć rezerwowa i zmodyfikowana. Cała pamięć używana do buforowania, ze zmodyfikowaną częścią, która czeka na zapisanie na dysk przed przejściem w tryb gotowości.
  • Pamięć „Total” to cała pamięć oprócz Hardware Reserved.

Jeśli chcesz dowiedzieć się więcej o zużyciu pamięci w systemie Windows 7, TechRepublic ma świetny artykuł .

Jason
źródło
Co by się stało, gdyby do tego komputera dodano jeszcze 8 GB? Podejrzewam „nic”, ale podejrzewam również, że użytkownik z większym obciążeniem lub dłuższym czasem pracy będzie miał znacznie więcej pamięci podręcznej.
3
@JonofAllTrades Zgodziłbym się. Jedną rzeczą, o której nie wspomniałem w artykule, jest SuperFetch (domyślna usługa w Windows 7). SuperFetch ładuje rzeczy do pamięci, zanim będą dostępne. Rejestruje wzorce użytkowania w pliku i zajmuje kilka restartów / dni, aby w pełni zoptymalizować.
Jason
Czy dzieje się tak również w systemie Linux?
Casper
16

Jeśli system operacyjny używa tylko 4 GB z 8 GB, nie będzie działał inaczej niż komputer używający 4 GB z 16 GB.

Nieużywany siłownik nie ma wpływu na wydajność maszyny.

Jednak idealną sytuacją jest użycie przez system operacyjny prawie całej dostępnej pamięci RAM. System operacyjny i aplikacje zażądają tego, czego potrzebują, a pozostałego pamięci RAM należy użyć jako pamięci podręcznej - z częścią wolną, być może w celu uniknięcia zamiany, jeśli aplikacja potrzebuje więcej pamięci RAM. Pamięć podręczna nadal liczy się jako „używana” i będzie wyświetlana jako używana w narzędziach wolnych od pamięci.

Tworzenie pamięci podręcznej zajmie trochę czasu, więc nie zobaczysz tego podczas uruchamiania. Jeśli po pewnym czasie urządzenie nadal nie używa więcej niż 4 GB, być może działa 32-bitowy system operacyjny, który nie może zająć więcej niż 4 GB (normalnie).

Paweł
źródło
4
Zależy to od tego, czy uważasz pamięć podręczną dysku za „używaną” pamięć RAM. Na przykład freeprogram Linux zgłasza to na dwa sposoby.
Wyzard,
Myślę, że to, co gui reprezentuje użytkownika, a rzeczywista sytuacja może być inna. Pamięć RAM używana do buforowania jest używana niezależnie od tego, czy narzędzie użytkownika ukrywa ten fakt przed użytkownikiem.
Paul
„Jeśli po pewnym czasie urządzenie nadal nie używa więcej niż 4 GB ...” -> Ponownie buforowanie dysku jest świetne, ale tak naprawdę nie zapełni całej wolnej pamięci RAM, jeśli masz wiele rzeczy, które można buforować z dysku - - buforuje tylko to, czego faktycznie używałeś, a teraz nie jest , co prawdopodobnie nie stanowi więcej niż kilka GB, chyba że normalne czynności obejmują dużą ilość Photoshopa itp. lub komputer jest zajęty na serwerze z dużą ilością pliki statyczne.
goldilocks,
@goldilocks Oczywiście „po pewnym czasie” jest niejasne, ale zamierza oznaczać „po takim czasie, w którym system Windows i aplikacje miały powód, aby załadować wystarczającą ilość danych, która przekroczyłaby 4 GB”. Moje użycie jest dość rutynowe i rutynowo je przekracza. Chodzi o to, że jeśli ten limit zostanie przekroczony, może to dotyczyć ograniczenia, a nie braku potrzeby większej pamięci podręcznej.
Paul
9

Inną częścią równania jest konfiguracja kart pamięci. W szczególności nowoczesne płyty główne obsługują pamięć dwukanałową, która pozwala podwoić przepustowość między płytą główną a pamięcią; jeśli sparowałeś pamięć i wyjąłeś 1 z każdej pary, straciłeś ją, więc twój dostęp do pamięci podczas wykonywania wielu transferów pamięci zostanie zmniejszony, co powinno spowodować, że operacje będą trwały dłużej. (Przeciwnie, jeśli zdarzyło Ci się sparować 8 gigabajtów szybszej pamięci z 8 gigabajtami wolniejszej pamięci i korzystałeś tylko z 8 gigabajtów, wyjęcie 8 gigabajtów wolniejszej i szybsza naprawa powinna pozwolić ci na szybsze bieganie, ponieważ wciąż masz dwukanałowy kanał ale nie musi spowalniać do najwolniejszej pamięci)

Ale ogólnie rzecz biorąc, buforowanie wspomniane w innych odpowiedziach będzie miało większy wpływ na ogólną wydajność.

Foon
źródło
3

Usunięcie połowy 16 GB pamięci spowoduje spowolnienie komputera.

Dzieje się tak, nawet jeśli nigdy nie używasz blisko 8 GB pamięci.

Jego strona programowa jest opisana w innych odpowiedziach i sprowadza się do tego, że system operacyjny decyduje się na użycie pamięci RAM zamiast dysku.

Jednak może pojawić się sprzętowy spadek wydajności o połowę ilości dostępnej pamięci RAM. Powodem jest to, że szyny RAM używają architektury wielokanałowej, co oznacza, że ​​komputer może przesyłać dane między wieloma modułami RAM jednocześnie.

Prawdopodobnie twój komputer jest dwukanałowy. W takim przypadku możesz usunąć 2 z 4 modułów 4 GB RAM bez wpływu na wydajność sprzętowo. Jednak usunięcie 1 z 2 modułów pamięci RAM o pojemności 8 GB wpłynie na wydajność.

Jeśli masz czterokanałową architekturę RAM, zobaczysz hit wydajności, nawet jeśli twój RAM ma moduły 4 GB.

Taemyr
źródło
2

Jeśli pamięć zostanie maksymalnie wykorzystana lub 99%, stracisz prędkość z powodu pliku strony, który znajduje się na dysku twardym. Dysk twardy nie może nawet zbliżyć się do prędkości pamięci RAM, ponieważ procesor uzyskuje bezpośredni dostęp do pamięci RAM w zależności od prędkości magistrali.

Windows używa około 3-4 GB bezczynności pamięci RAM, nie licząc innych aplikacji. Używam 16 GB od lat i nigdy tak naprawdę nie potrzebowałem więcej niż 8 GB. Realistycznie, średni użytkownik komputera nigdy nie używa więcej niż 4–6 GB na grę. Tylko raz widziałem, jak zbliża się do 12 GB podczas kompresji filmu lub robienia czegoś, co wymaga dużej ilości pamięci RAM z multimediami, a procesory wielordzeniowe to jedyny sposób, w jaki potrzebujesz więcej niż 8 GB. i tak, to działałoby równie szybko. IMO.

Bezczynność po 1 dniu bezczynności: wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

Bezczynność po 2 dniach przestoju: wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

Im więcej pamięci RAM System Windows ma więcej pamięci RAM, której wydaje się używać.

wprowadź opis zdjęcia tutaj

Przykładem jest system Windows 7 wykorzystujący pamięć RAM w celu przyspieszenia niektórych procesów.

wprowadź opis zdjęcia tutaj

Chkdsk maksymalizuje pamięć RAM, aby przyspieszyć buforowanie z kolei przyspiesza wydajność i czas sprawdzania dysku, więc w tym przypadku więcej faktycznie = szybciej ...

Chorobowy
źródło
1
System Windows 7? Nawet przy wielu rzeczach prawie nie przekraczam 2G.
Simon Kuang
Im więcej pamięci RAM Windows 7, tym więcej zużyje ... z czasem będzie się zmieniał z powodu programów, które otworzyłeś i są one obecnie otwarte, dopóki usługi i aplikacje nie zwolnią pamięci, będą się zmieniać ... w odniesieniu do rzeczywistego pytania. Czy 8 GB będzie tak szybkie jak 16 GB tak i nie, w zależności od tego, do czego używasz komputera. W normalnych okolicznościach nie potrzebujesz więcej niż 8 GB i nie widzisz rzeczywistej utraty wydajności, jeśli używasz go do typowych zastosowań, takich jak gry lub przeglądanie stron internetowych.
MORBiD
2

W praktyce odpowiedź na pytanie brzmi „NIE”, jak stwierdzono. Q. mówi „(użycie) nigdy nie osiąga 8 GB” i wspomina o „tym samym typie pamięci”, dlatego nie będzie to miało wpływu na najbardziej prawdopodobny czynnik wpływający na szybkość (buforowanie dysku). Typowym praktycznym przykładem są serwery baz danych z wystarczającą ilością pamięci do buforowania całego dysku twardego - np. Z 4 GB plików i 2 GB pamięci przydzielonej na proces / system nie korzysta z więcej niż 8 GB pamięci.

Wyjątki:

Więcej pamięci może spowolnić hibernację - w moim systemie z 32 GB pamięci i dyskiem SSD zimny rozruch jest znacznie szybszy niż wybudzanie go ze stanu hibernacji, ponieważ oszczędza całe 32 GB podczas hibernacji, ale zimny rozruch wymaga znacznie mniej do odczytania. Zmniejszenie pamięci przyspieszy system.

Byłoby szybciej, gdybyś uzyskał dostęp do większej ilości dysku twardego i większość ludzi ma więcej miejsca na dysku niż pozostała pamięć do buforowania, więc dodatkowa pamięć pomaga. Również wiele O / S zgłasza tylko część zużycia jako „zużycie”, a reszta jest liczona jako buforowanie, a nie „zużycie”. (Linux zgłasza użycie zarówno z uwzględnieniem buforowania, jak i bez niego).

Kanały pamięci wpływają na wydajność: [Jeśli usunięcie pamięci oznacza zmniejszenie liczby używanych kanałów pamięci, wówczas system zwolniłby, jak Foon prawidłowo zauważył]

[edytuj] David Schwartz skomentował, że obniżenie pamięci zmniejsza limity prywatnych, modyfikowalnych mapowań pamięci pod oknami. Windows najwyraźniej ogranicza sumę tych rezerwacji do całkowitej ilości pamięci plus wymiany, więc możesz zabraknąć tego zasobu, nawet jeśli zgłoszono „wolną pamięć” (ponieważ rzeczywista pamięć / zamiana nie jest przydzielana do momentu uzyskania dostępu do strony, nie jest liczone jako użycie pamięci). Linux zachowuje się inaczej - każdy proces może przydzielić do sumy pamięci i wielkości wymiany, a suma dla wszystkich procesów może przekroczyć sumę pamięci plus zamiana.

iheggie
źródło
1
Po prostu stwierdzasz, że „nie” jest prawidłową odpowiedzią, ale nie mów dlaczego.
David Schwartz
To była odpowiedź na zaakceptowaną odpowiedź - nie mam punktów, aby bezpośrednio ją skomentować - przepraszam za zamieszanie. Aby to wyjaśnić, na wypadek, gdyby nie było to oczywiste, używasz tylko tyle pamięci do buforowania dysku twardego, ile jest faktycznie odczytywane lub zapisywane - jeśli po prostu nie ma tak dużego zużycia dysku lub nigdy nie jest on uzyskiwany, wówczas dodatkowa pamięć nie „ zrobić różnicę.
iheggie
1
Podany przeze mnie przykład serwera bazy danych to przykład, w którym dodatkowa pamięć nie ma większego znaczenia - cały używany dysk jest buforowany.
iheggie
A co z faktem, że więcej pamięci RAM oznacza więcej kopii zapasowych, które mogą pozwolić systemowi operacyjnemu na zezwolenie na przydziały, których w innym przypadku odmówiłby?
David Schwartz
W moim przykładzie serwera DB - nie ma żadnej różnicy, ponieważ nigdy nie odmówiłby przydziału z powodu braku wolnej pamięci. Jakiego przydziału odmówiłby O / S, gdyby: wszystkie procesy zachodzące w pamięci, b. cały dysk był już buforowany w pamięci, c. miał wolną pamięć id. jakiś inny limit nie został przekroczony (np. maksymalny limit procesu / bufora / adresowalnego rozmiaru)?
iheggie
0

Fragmentacja pamięci jest kolejnym powodem posiadania dodatkowej pamięci. Jeśli masz 8 GB pamięci RAM i masz tendencję do korzystania z niej w 80%, szczególnie w nowoczesnych przypadkach użycia (z dużą ilością zamiany pamięci, na przykład z otwierania i zamykania kart przeglądarki), w końcu otrzymasz znaczne rozdrobnienie.

Dodanie dodatkowych 8 GB pamięci RAM zwiększa prawdopodobieństwo, że system operacyjny znajdzie ciągłe przestrzenie pamięci, co oznacza, że ​​rzadsze ponowne uruchamianie jest konieczne, aby uniknąć obniżenia wydajności.

Joe
źródło
Rozumiem, że fragmentacja pamięci jest czymś, co może wystąpić w przestrzeni pamięci procesu, który jest wirtualny w typowych współczesnych systemach, i że nie dotyczy całego systemu. Ponieważ pamięć fizyczna jest podzielona na strony, które są indywidualnie mapowane w przestrzeni pamięci wirtualnej procesów, fragmentacja byłaby pojęciem pozbawionym zagrożeń. Proszę mnie poprawić, jeśli coś źle zrozumiałem.
Thomas Padron-McCarthy
0

Możliwe, ale niekoniecznie. Między innymi, jedną z rzeczy, na które pozwala pamięć RAM, jest zezwolenie aplikacji na przydzielenie pamięci, z której nigdy nie mogą korzystać. Jeśli system nie ma wystarczającej ilości kopii zapasowych (w tym pamięci RAM), aby każda wydana do tej pory alokacja mogła zużyć tyle pamięci, ile to możliwe, system operacyjny albo odmówi alokacji, albo przepełni. Niektóre systemy operacyjne nigdy nie są nadmiernie zaangażowane i prawie wszystkie współczesne systemy operacyjne ograniczają dozwoloną liczbę przypadków nadmiernego zaangażowania.

Tak więc pamięć, która nie jest używana, może poprawić wydajność, umożliwiając operacjom, które potencjalnie mogą wymagać pamięci RAM, aby odniosły sukces w przeciwnym razie.

David Schwartz
źródło
-1

Więcej pamięci RAM nie przyspiesza komputera. Mniej pamięci RAM „spowalnia” pracę komputera.

Komputery mają maksymalną prędkość fizyczną (w tym także podkręcanie) i nic nie może ich zwiększyć.

Xtro
źródło
3
Jak pokazano w odpowiedzi Wyzarda, „komputer” jako całość obejmuje dostęp do dysku, gdzie więcej pamięci RAM pozwala na więcej buforowania, a zatem przyspiesza.
usuń mnie
Czy masz na myśli, że możemy zwiększyć fizyczne ograniczenie prędkości komputera, dodając na nim terabajty pamięci ram?
Xtro
Biorąc pod uwagę dyski twarde, tak.
usuń mnie
Przy okazji, mniej pamięci RAM nie zawsze spowalnia komputer. Pamięć podręczna L3 wielokrotnie spowalniała komputer z powodu braków pamięci podręcznej.
usuń mnie
2
Uważam twoją odpowiedź za tautologiczną. Tak, „ograniczenie maksymalnej prędkości” procesora to maksymalna prędkość procesora. Dobry występ. Jednak z praktycznego punktu widzenia, w porównaniu do komputera z wystarczającą ilością pamięci RAM, komputer z nadmiarem pamięci RAM będzie działał nieco szybciej.
Joe