Uruchomiłem system demonstracyjny w systemie Linux z następującym jądrem:
2.6.32-400.1.1.el5uek # 1 SMP Mon Jun 25 20:25:08 EDT 2012 x86_64 x86_64 x86_64 GNU / Linux
Gdy tylko nastąpi zamiana, użycie procesora w systemie wzrasta do prawie 100% zajętości, z czego około 90% to użycie procesora sys. Powiedziano mi, że jest to oczekiwane, ponieważ demon strony Linuksa uruchamia się i zaczyna zapisywać fragment pamięci, aby zamienić ją tylko, gdy zabraknie pamięci (lub wolna pamięć jest mniejsza niż 0,5 G), co powoduje duże zużycie procesora sys. „swapiness” wynosi 60 w systemie.
Czy oczekuje się zachowania, że użycie procesora spadnie do 100%, gdy w Linuksie nastąpi zamiana?
Powodem, dla którego miałem powyższe pytanie, jest to, że powyższe zachowanie zmieniło się podczas migracji wersji demo do innego systemu z następującym jądrem Linux:
2.6.39-400.128.14.el5uek # 1 SMP Sob 10 maja 00:06:52 PDT 2014 x86_64 x86_64 x86_64 GNU / Linux
Jedyną różnicą parametru vm w migrowanym systemie, który zauważyłem, jest parametr min_free_kbytes, zmieniony na 524288 w migrowanym systemie w porównaniu z 51200 w migrowanym systemie.
W migrowanym systemie, gdy wolna pamięć osiąga mniej niż 1,5G, następuje zamiana, następnie zużycie procesora nieznacznie wzrasta, np. Z 30% do 40%, a wydajność aplikacji uległa pogorszeniu tylko przez krótki czas, a następnie wszystko wraca do normy, tak jak przed wymianą.
Co sprawia, że migrowany system zachowuje się tak inaczej, że użycie procesora nie wzrośnie do 100%, gdy nastąpi zamiana?
To bardzo ważny system demonstracyjny, a wyjaśnienie powyższych dwóch pytań będzie bardzo przydatne. Wszelkie pomysły będą bardzo mile widziane.
kswapd
.