ChkDsk w Windows Server 2008 R2
Czym sie rózni regularny ChkDsk.exe spotykany dotad w systemach Windows Server 2003/2008 od tego w R2? Czasem dzialania! I to jak! Zerknijcie na wyniki testów! Testy zostaly przeprowadzone dla 1,5 miliona i 3 milionów plików. Dla kazdej wartosci RAM w kazdym systemie zostaly przeprowadzone 3 pomiary, a potem wyliczona srednia. Czas liczony byl przy starcie skryptu w oparciu o zegar systemowy (echo. | time) - czas rozpoczecia odejmowalo sie od czasu zakonczenia dzialania.
Wychodzi na to, ze w systemach Windows Server 2003/2008 ChkDsk.exe byl najprawdopodobniej ten sam (albo conajmniej podobny) i wykorzystywal zawsze tyle samo pamieci RAM, niezaleznie od ilosci plików, czy obciazenia procesora. Srednio ok. 20-40 MB (zalezy, w którym momencie – maksymalnie 140MB) w czasie trwania calej operacji sprawdzania poprawnosci struktury logicznej na wolumenie. ChkDsk.exe nie przekraczal pewnej granicy zajetosci pamieci RAM, niezaleznie od tego ile dostepnej pamieci RAM bylo w systemie. Zuzycie procesora w ogólnej subiektywnej ocenie bylo znikome.
W systemie Windows Server 2008 R2 ChkDsk.exe wykorzystuje tyle pamieci RAM ile ma dostepne. Przykladowo dla 1,5 miliona plików dla 512MB RAM wykorzystuje 110MB RAM, dla 1GB RAM wykorzystuje srednio 775MB RAM, dla 2GB RAM wykorzystuje 1,7GB. W efekcie proces chkdsk.exe konczy sie szybciej, robiac to, co jest do zrobienia.
Pomiary wykonywalismy razem z Grzesiem T. Ponizsze wykresy reprezentuja przeprowadzone testy:
1. Dla 1,5 miliona plików:
Rysunek 1. Czas dzialania ChkDsk.exe dla 1,5 miliona plików (Os pionowa to czas podany w sekundach [s])
Rysunek 2. Rozklad czasowy dla 1,5 miliona plików.
2. Dla 3 milionów plików:
Rysunek 3. Czas dzialania ChkDsk.exe dla 3 milionów plików (Os pionowa to czas podany w sekundach [s]).
Rysunek 4. Rozklad czasowy dla 3 milionów plików.
Autor: Paula Januszkiewicz
Comments
Anonymous
January 01, 2003
Tak, mozna tak przyjąć. Co prawda chkdsk nie jest częścią kernela, ale binaria zazwyczaj są te same. Pozdrawiam, PaulaAnonymous
January 01, 2003
Bardzo prawdopodobne, że tyle samo.Anonymous
January 01, 2003
Bardzo zasadne pytanie. Dokładne testy były na wersjach odpowiednio x86, x64, x64 (2003, 2008, R2). Zrobiłam pobieżne testy na wersji x86 w przypadku Windows Server 2008 i praktynie nie ma to żadnego wpływu. Tak, Windows Server 2008 R2 występuje tylko w wersji x64. Różnica w zarządzaniu pamięcią sprowadza się do większej ilości pamięci wirtualnej dla procesu (więcej adresów do wykorzystania). I skoro w starszych systemach proces sam z siebie nie chce zaalokować więcej niż ~140MB pamięci, to udostępnienie mu jeszcze większej ilości dzięki platformie x64 nie poprawi jego osiągów.Anonymous
September 14, 2009
Hm... Testowaliście wersje 64bit ? Bo z tego co wiem to 2008R2, działa tylko na takiej platformie. Może stąd różnica, systemy 64 bitowe inaczej zarządzają pamięcią.Anonymous
October 07, 2009
Można przyjąć, że... identycznie jest dla Windows 7 x64...?Anonymous
January 13, 2010
a ile trawa to na win 7 ultimate pl 84x????????????