Zużycie procesora wzrasta po zainstalowaniu 4 GB pamięci RAM


9

Mam procesor Intel Atom D2700 (Synology NAS DS412 +) z 4 GB pamięci RAM z uruchomionym jądrem 3.2.30 x86_64. To urządzenie ma pojedyncze gniazdo DIMM.

Jedną z rzeczy, które odkryłem, jest to, że po dodaniu 4 GB pamięci DIMM w porównaniu z 2 GB pamięci DIMM, jednostka doświadcza znacznie wyższego zużycia procesora podczas obciążenia (na przykład „ciężkie” aplikacje Java, takie jak serwery Minecraft lub transkodowanie Plex itp.) . Wielu użytkowników odkryło, że po przywróceniu do 2 GB wszystkie te problemy związane z wysokim ładowaniem znikają.

Czy jest to coś specyficznego dla Linuksa, które może to powodować? Czy jest to problem z samym Atomem?


Może możesz dodać, jakiej dystrybucji używasz?
Bernhard

Kompilacja Synology.
Trevor Seward

Czy były jakieś zmiany w jądrze? Czy przypadkiem używasz jądra PAE?
sfledgling

Synology zasadniczo nie udostępnia tego rodzaju informacji o wydaniu. Nie, to jest jądro x86-64.
Trevor Seward

Co top pokazuje jako źródło dodatkowego obciążenia? Więcej operacji wejścia / wyjścia, więcej uruchomionych procesów? Czy wymiana jest włączona? Jeśli masz długotrwałe procesy z dużym (er) obciążeniem, możesz porównać wyniki z cat /proc/$PID/statusczasem.
Hauke ​​Laging

Odpowiedzi:



1

tl; dr

Myślę, że sprawcą jest niekompatybilny moduł RAM.


Przeczytałem arkusz danych D2000 (zgodnie z sugestią quadruplebucky). AFAIK arkusz danych nie mówi nic o ograniczeniu rozmiaru pamięci RAM w odniesieniu do liczby gniazd DIMM. Zamiast tego mówi o szeregach (zob. Geometria pamięci ).

Każdy, kto chce zaktualizować pamięć RAM w systemie D2000, powinien sprawdzić Tabela 3-24 pod kątem obsługiwanych konfiguracji pamięci . Dla rozmiaru pamięci 4096 MB moduł powinien mieć:

  • podwójna pozycja,
  • z 16 żetonami o gęstości 2 gigabitów.

Moduły pamięci o tej samej pojemności są produkowane w różnych konfiguracjach, dzięki czemu można uzyskać np. Moduł 4 GB jednopoziomowy za pomocą ośmiu układów o gęstości 4 gigabitów, których konfiguracji nie wymieniono w tabeli - patrz ten pouczający post autorstwa Kingstona .

To powiedziawszy, musisz sprawdzić specyfikacje dla dokładnego numeru części modułu, aby upewnić się, czy jest on kompatybilny. Niedawno zainstalowałem Patriot PSD34G1333L2S w DS713 + i jak dotąd działa dobrze.


0

Jeśli jest więcej pamięci, procesor będzie miał pod ręką więcej danych / programów do pracy (będzie bezczynny, czekając na dane z dysku krócej), więc użycie procesora powinno wzrosnąć, szczególnie przy dużym obciążeniu. Czy przepustowość wzrasta? Czy nie zmierzyłeś tego?


Nie mogę powiedzieć, że naprawdę zmierzyłem to ponad szczytem (Busybox, więc opcje są nieco ograniczone), ale wydajność znacznie spada w wyżej wymienionych aplikacjach, gdy używasz 4 GB pamięci RAM, do tego stopnia, że ​​nie można ich używać. Przy 2 GB pamięci RAM żaden z tych problemów nie jest widoczny.
Trevor Seward

Artykuł w niemieckiej Wikipedii twierdzi, że procesy we / wy są częścią obciążenia. Dlatego obciążenie powinno spaść z większą ilością pamięci RAM. Można to łatwo sprawdzić za pomocą for((i=0;i<20;i++)); do dd if=/dev/sda of=/dev/null skip=$((i*100)) bs=1M count=100 & done. Uruchom to i spójrz na górę. Nie wiem jednak, w jaki sposób operacje we / wy ze względu na zamianę wpływają na obciążenie i procent oczekiwania na operacje we / wy. To wyjaśnienie nie ma żadnego sensu.
Hauke ​​Laging

0

Komputer ZAWSZE ma wąskie gardło, w przeciwnym razie wszystkie problemy zostałyby rozwiązane w czasie zerowym. Po usunięciu szyjki butelki pamięci system przestał czekać na dysku, dzięki czemu procesor stał się lepiej wykorzystywany.

To dotyczy jednej z moich domowych nienawiści: popularne, szukające sensacji blogi i strony z recenzjami nie wiedzą, jak przeprowadzić testy porównawcze. W 100% wykorzystywany procesor nie jest zmarnowanym procesorem. Idealny komputer byłby w stanie wykorzystać wszystkie zasoby w 100% na wszystkie obciążenia, ale jesteśmy bardzo daleko od tego rodzaju technologii. Ale dygresję.

O ile oczywiście nie występuje problem z zarządzaniem pamięcią w systemie operacyjnym, ale jest to znacznie mniej prawdopodobne.


3
Myślę, że istnieje duże nieporozumienie co się tutaj dzieje. Aplikacje odczuwają znaczny spadek wydajności dzięki 4 GB vs. 2 GB pamięci RAM. Nie chodzi o to, że procesor jest „w 100%” wykorzystywany, ale o to, że aplikacje stają się prawie niefunkcjonalne.
Trevor Seward

Być może powodują to koszty ogólne stronicowania i przełączania kontekstu? Powinieneś spróbować uruchomić jedną ciężką aplikację z 2 GB i 4 GB, aby sprawdzić, czy przepustowość tej aplikacji wzrośnie. Jeśli tak, może to wynikać z przełączania kontekstu.
sfledgling

3
Przełączanie kontekstu z powodu dodatkowej dostępnej pamięci fizycznej?
Trevor Seward

Moja hipoteza była taka, że ​​dodatkowa pamięć oznaczała, że ​​procesor mógł teraz pracować na większej liczbie procesów / wątków jednocześnie (ponieważ nie musiałby czekać na dyskowym We / Wy lub przestrzeni wymiany), a zatem więcej procesów / wątków oznaczałoby więcej przełączeń kontekstu. Mogę się bardzo mylić oczywiście.
sfledgling

@ TrevorSeward, pytanie mówi coś zupełnie innego.
vonbrand

0

Czy jest jakaś szansa, że ​​nowa pamięć RAM to DDR3-800, a stara to DDR3-1066 (lub że nowa pamięć RAM ma większe opóźnienia?

Jeśli twoje obciążenie ma wiele braków pamięci podręcznej i często uderza w pamięć RAM, wolniejsza pamięć RAM może mieć znaczącą różnicę - ten test porównawczy pokazuje około 30% różnicy w przepustowości pamięci między -1066 a -800 RAM:

http://www.tomshardware.com/reviews/core-i7-870-1156,2482-5.html

Twoje obciążenie musiałoby wymagać dużej ilości pamięci, aby zobaczyć znaczącą różnicę.


Zamienny moduł DIMM to KVR1333D3S9 / 4G, jednak Atom będzie działał tylko z częstotliwością 800 MHz.
Trevor Seward

Intel twierdzi, że kontroler pamięci D2700 będzie działał z DDR3-800 lub -1066 RAM (z odpowiednią maksymalną przepustowością pamięci 6,4 GB / s i 8,5 GB / s). Ale ponieważ twoja pamięć RAM wynosi 1333, powinna zostać obniżona do 1066, więc moja sugestia jest dyskusyjna.
Johnny

0

Nigdy nie doświadczyłem tego, dlatego zgaduję: być może jest to problem, ponieważ Atom nie jest w stanie rozwiązać fizycznie więcej niż 4G (IIRC) i kolizji z przestrzenią adresową PCI.

Spójrz na odpowiednie parametry jądra (mem *) . Prawdopodobnie nie dostarczą nam dobrego wyjaśnienia problemu, ale mogą go rozwiązać (kosztem pewnej pamięci RAM). Możesz więc zapobiec używaniu przez jądro górnej x MiB. Możesz przetestować, na której granicy problem znika. Jest prawdopodobne, ale nie pewne, że urządzenia PCI są mapowane bezpośrednio pod 4G. Warto to sprawdzić, ale nie wiem, jak to zrobić (być może za pomocą jakiegoś narzędzia ACPI lub cat /sys/devices/pci0000\:00/0000\:00*/resource).


Jak ustawić maksymalną pamięć bez dostępu do parametrów rozruchu?
Trevor Seward

0

Czy widziałeś ten wątek na forum Synology:

http://forum.synology.com/enu/viewtopic.php?f=140&t=55105&sid=32ffe791c14c1a817869f78ec3d4300a&start=15

On person mówi, że zmiana parametru w /etc/rc.d pomaga (tam, gdzie vm.min_free_kybtes jest ustawiany na podstawie ilości zainstalowanej pamięci RAM). Ale wydaje się, że jest to więcej w przypadku aktualizacji 1 GB -> 2 GB, a nie 2 GB -> 4 GB.

Inni twierdzą, że 4 GB w ogóle nie będzie działać, podczas gdy jeden facet twierdzi, że moduł KVR1066D3S7 / 4G (czyli 1066 MHz) działa dobrze, podczas gdy inni z modułami 1333 MHz, takimi jak twój, mają problemy.

Wydaje się, że nie ma zbyt wielu dowodów wskazujących na rozwiązanie, ale nie tylko ty widzisz spadek wydajności z 4 GB pamięci RAM w tym DS412 +.


1
To jestem ja i nie w końcu modyfikacja min_free_kbytes nie pomogła.
Trevor Seward

Potem poszedłem z facetem, który powiedział, że moduł 1066 MHz działa, ale ludzie z modułami 1333 MHz narzekają na problemy - być może BIOS Synology naprawdę nie radzi sobie dobrze z 1333.
Johnny

To byłaby implementacja UEFI Intela.
Trevor Seward

0

Domyślam się (wykształcone), że pamięć podręczna procesora nie może obsłużyć więcej niż 2 GB pamięci RAM, więc zainstalowanie większej ilości pamięci powoduje wyłączenie pamięci podręcznej, co powoduje znaczny spadek wydajności. Jest to również procesor czterordzeniowy, więc pojedyncza aplikacja wątkowa może zużywać najwyżej 25% całkowitej jednostki centralnej, dlatego po dodaniu pamięci RAM nie rośnie.


To dobra myśl. W jaki sposób można stwierdzić, czy pamięć podręczna została wyłączona z poziomu dystrybucji?
Trevor Seward
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.