Czy jest jakiś powód, aby nie wyłączać stronicowania jądra systemu Windows?

10

Więc planuję w końcu przejść do 2 GB (maks. Mobo) pamięci RAM z 1 GB i chcę wyłączyć stronicowanie jądra, kiedy to zrobię, ponieważ słyszałem, że może to zwiększyć wydajność (i tak mi się wydaje). Czy jest jakiś powód, aby tego nie robić lub jakieś ogólne przemyślenia na ten temat?

Edycja: dla wyjaśnienia nie wyłącza to ogólnego stronicowania RAM. To uniemożliwia stronicowanie pamięci jądra (lub przynajmniej jej części, jak zauważył Charlls).

Nataniel
źródło
Byłoby miło, gdybyś był bardziej szczegółowy na temat tego, jakie ustawienie zamierzasz zmienić.
bk1e

Odpowiedzi:

4

Czy jest jakiś powód, aby tego nie robić lub jakieś ogólne przemyślenia na ten temat?

Jeśli to zrobisz, musisz żyć z faktem, że przeniosłeś dużą część jądra do pamięci RAM. Na początku jest to dobre. Unikniesz stronicowania jądra, a system może doświadczyć wzrostu wydajności w zadaniach związanych z jądrem.

Ale co, jeśli twoje aplikacje używają dużo pamięci RAM? 2 GB nie jest już obecnie dużą ilością pamięci RAM według jakichkolwiek standardów. Nawet jeśli plik wykonywalny jest mały, może przydzielić duże ilości pamięci RAM podczas wykonywania, które znacznie przekraczają jego fizyczny rozmiar na dysku (praktycznie robi to całe oprogramowanie). Tak więc, przy mniejszej ilości dostępnej pamięci RAM, ponieważ jądro zabiera część z niej, będziesz doświadczać stronicowania swoich aplikacji. Oznacza to, że masz bardziej responsywny system do zadań związanych z jądrem i mniej responsywny system do codziennego użytkowania aplikacji.

Ponieważ, jak przewiduję, wzorzec użytkowania komputera opiera się głównie na użytkowaniu aplikacji, możesz zamiast tego odczuć spadek ogólnej wydajności.

Przy 2 GB pamięci RAM nie radzę tego robić. Rozmiar jądra jest różny. Ale jądro systemu Windows XP ma rozmiar około 200 Mb, a Windows Vista jest nieco ponad 300 (?). Windows 7 może się pochwalić jeszcze większym jądrem. Mówię to tylko z pamięci, z tego, co wydaje mi się, że pamiętam ich zrzuty pamięci. Zabierzesz znaczną część pamięci. pamięć, która zmusi wiele aplikacji wymagających pamięci do przejścia na stronę. I ... jeśli chcesz, aby stronicowanie miało miejsce, nie pozwól, aby stało się tak w przypadku aplikacji wymagających dużej ilości pamięci.

Krasnolud
źródło
Również świetny wgląd, dzięki. Korzystam z XP Home i mam procesor z jednym rdzeniem, więc może powinienem po prostu zostawić rzeczy tam, gdzie są - Firefox jest już wystarczająco wielorybem
Nathaniel
5
Typowy zrzut pamięci jądra zawiera znacznie mniej niż 200 MB kodu. Większość to dane: przydziały puli, stosy wątków, tabele stron itp. Support.microsoft.com/kb/Q184419 omawia tylko wyłączenie stronicowania kodu jądra, a nie danych jądra. I nie wszystkie sterowniki i tak zawierają dużo stronicowanego kodu. Ilość pamięci RAM, którą marnuje, powinna być znacznie mniejsza niż 200 MB.
bk1e
Podczas pracy z Windows XP na moim laptopie i oczywiście po wyczyszczeniu prawie wszystkich aplikacji startowych i niepotrzebnych rzeczy, po uruchomieniu miałem uruchomionych 14 procesów i użyto 70 MiB pamięci wirtualnej. Pierwszą rzeczą, którą wtedy uruchomiłem, był Korowód
Putty'ego
Czy masz jakieś odniesienia do tego 200 MB dla XP i 300 MB dla Visty? Dla mnie też to nie brzmi dobrze.
scobi
6

Należy zauważyć, że to ustawienie wpływa tylko na niewielką część jądra. System Windows wyświetli tę stronę tylko wtedy, gdy pamięć jest potrzebna do innych celów. Część jądra nigdy nie może być stronicowana w żadnych okolicznościach, podczas gdy inne pozostaną stronowalne. Jeśli masz rozsądną ilość pamięci RAM (512 MB lub więcej), ustawienie to raczej nie pomoże. Co więcej, to, co Menedżer zadań pokazuje jako „stronicowany”, naprawdę oznacza stronicowanie. Nie da się powiedzieć, ile w danym momencie jest stronicowane. System Windows po prostu nie udostępnia tych informacji poza systemem.

Charlls
źródło
Ach, dobry wgląd, dzięki. Niektóre poprawki naprawdę wymagają obalenia, więc fajnie jest, gdy ludzie przychodzą z prawdziwymi informacjami i pokazują, co się naprawdę dzieje.
Nathaniel
2

Myślę, że decyzja o tym powinna być oparta na ilości pamięci systemowej i typowych aplikacjach. Podczas wpisywania mój system Windows 7 (64-bitowy) o pojemności 8 Gb ma następujące statystyki:

Razem 8125 MB w pamięci podręcznej 2618 MB Dostępne 6485 MB Bezpłatne 4200 MB

(Jeśli te liczby się nie sumują, to dlatego, że zmieniają się podczas pisania).

Pamięć jądra stronicowana 278Mb Niestronicowana 59Mb

Wydaje mi się bardzo, że mogłem znieść BENEFIT tylko z tego, że używał aż 4200 MB pamięci RAM, nie robiąc absolutnie nic (nawet nie w pamięci podręcznej), buforując tylko 278 MB jądra.

W praktyce będę musiał zobaczyć, jak to się potoczy, ponieważ tego nie próbowałem. Zgaduję, że części jądra, które są stronicowane, prawdopodobnie nie są używane zbyt często (stąd powód ich stronicowania), a szanse na uruchomienie dużej aplikacji, która chce korzystać z pamięci, mogą być większe niż szanse zrób coś, co musi uzyskać dostęp do tych obszarów jądra. Byłoby interesujące usłyszeć niektóre doświadczenia od użytkowników z 8 GB lub więcej pamięci RAM na skutek wyłączenia stronicowania pamięci jądra.


źródło
0

ale chodzi o to, że wyłączenie stronicowania jądra może mieć duży wpływ na wydajność, jeśli masz system RAM o pojemności 3-4 GB ... ja ja zauważam dużą poprawę podczas uruchamiania aplikacji Adobe: D


źródło
0

Microsoft (nawet OSX i Linux oraz Unix .. I SunOS itp.) DOMYŚLNE są dla ŚREDNIEGO UŻYTKOWNIKA! lol

Każdy, kto ma odrobinę odpowiedniej wiedzy komputerowej w systemie Windows (lub odpowiednim systemie operacyjnym), wie, że WIELE rzeczy można dostosować, aby uzyskać lepszą wydajność. MS nie włącza wszystkich tych poprawek, więc system operacyjny jest zgodny z najszerszym zakresem konfiguracji sprzętowych.

2 GB pamięci RAM to obecnie niewiele, ale nadal możesz zapobiec wymianie jądra. Nawet jądro systemu Windows 8 nie zajmuje tak dużo pamięci. Wszystko inne, co jest bezczynne, zostanie zamienione, jeśli załadujesz duży program.

Biorąc to pod uwagę przy większej pamięci karty graficznej (1,5-4 GB jest normą), NIE powinieneś już używać 32-bitowej wersji systemu Windows. 2 GB pamięci RAM w 32-bitowym systemie Windows to strata! Jeśli włożysz kartę wideo o pojemności 3 GB, pocałuj 1 GB pamięci systemowej na pożegnanie. 32-bitowe okna widzą tylko 4 GB przestrzeni adresowej i WSZYSTKO musi być załadowane do tej przestrzeni, pamięci systemowej, pamięci wideo, pamięci karty rozszerzeń. Dlatego chcesz 64-bitowy system Windows. Większość konsumenckich intel / amd cpus jest ograniczona do około 32-64 GB przestrzeni adresowej pamięci - co jest w porządku. Myślę, że maksimum dla w pełni włączonej jednostki centralnej i mobo to 64 lub 128 TB pamięci RAM.

Dlaczego to jest dobre? Karty graficzne itp. Nie zmniejszają pamięci systemowej. Dodatkowo, jeśli masz tylko 2 GB pamięci RAM na Win x64, możesz go rozszerzyć do poziomu, na jaki pozwala twój mobo, i nie musisz nic robić w systemie Windows.

Jeśli załadujesz Win x64, możesz włożyć kartę wideo dowolnej wielkości i nie wpłynie to w żaden sposób na pamięć systemową. Bezczynne sterowniki, biblioteki DLL, pliki exe itp. Zostaną zamienione na dysk, jeśli potrzebna jest pamięć dla dużej aplikacji lub gry

Należy również wziąć pod uwagę: 2 GB to największa ilość pamięci, z której może korzystać aplikacja 32-bitowa. 32-bitowy exe skompilowany w LAA (Large Address Aware) może używać 4 GB w 64-bitowym systemie operacyjnym Win. Więc jeśli masz tylko 2 GB pamięci RAM i odpalasz 32-bitowy program LAA, a używa on 3 GB, plik wymiany będzie dużo

W przypadku nowoczesnych komputerów 4 GB to MINIMUM, które powinieneś mieć, najlepiej 8 GB. W przypadku sprzętu do gier nic nie jest potrzebne powyżej 8. 16 GB jest świetne, ale wszystko, co robi, to daje WIELKĄ pamięć podręczną odczytu (lub zapis, jeśli masz ją włączoną - polecam APC power backup b4 umożliwiający powrót pamięci podręcznej). W tej chwili nie znam ŻADNEJ gry, która faktycznie wykorzystuje ponad 4 GB pamięci RAM. Widziałem jednak kilka zastosowań około 3-3,5.

Podsumowanie: nie zawracaj sobie głowy utrzymywaniem jądra w pamięci w 32-bitowym systemie Windows ... jeśli masz Win x64 z 2 lub więcej GB pamięci RAM, to ZDECYDOWANIE trzymaj jądro w pamięci! Ponieważ gdy system się kończy, NIE chcesz zamieniać jądra! To naprawdę zabije wydajność. Lepiej zamiast tego zamień inne bezczynne biblioteki DLL, dyski, serwery itp

David Dutton
źródło
-2

Pozostaw wszystko do domyślnych. Pozwól firmie Microsoft wykonać swoją pracę. Jeśli system zwalnia, oznacza to, że spowodowało to coś innego (firma zewnętrzna). Dlaczego Microsoft lub inne komercyjne systemy operacyjne sprzedawałyby coś, co tylko doprowadzałoby klientów do szaleństwa z frustracji?

Kelly
źródło