Witam.
Zastanawiam się, czy może ktoś z Was będzie posiadał jakąś wiedzę w tym temacie i może mi wyjaśni, o co chodzi/co się dzieje.
Po skompilowaniu jądra zauważyłem, że serwer ma gorszą wydajność - potrafi czasem na kilka sekund się zawiesić, a operacje na plikach są 2-3 razy wolniejsze niż na jądrze z płytki instalacyjnej (dotyczy to tylko operacji na plikach - np. sprawdzanie hdparm nie pokazuje różnic).
Ustalenie przyczyny "zjawiska" zajęło mi ładne kilka godzin, ale w końcu metodą prób i błędów (wprowadzając małe zmiany w konfiguracji, a następnie kompilując i uruchamiając kolejną wersję testową jądra) udało mi się ustalić, że "winny" jest wybór dokonany w "general setup" -> "choose SLAB allocator". Pozostawiając domyślny SLUB - wydajność systemu jest OK. Przełączenie na SLOB powoduje w/w problemy.
Czy ktoś z Was ma może pomysł, czemu tak się dzieje? Z tego co szukałem i czytałem - po pierwsze SLOB powinien być przynajmniej tak samo wydajny, a po drugie - raczej kwestia allocatora ma związek z pamięcią, a nie operacjami zapisu/odczytu dysku.
kernel i SLAB allocator
Moderatorzy: Moderatorzy, Administratorzy
Re: kernel i SLAB allocator
Witam.
Pytanie: Jak system traktuje dysk twardy? Moim zdaniem jak pamięć. Ale mogę się mylić. Z tego co przeczytałem to SLOB jest przeznaczony do systemów wbudowanych. Pozdrawiam Jacol
Pytanie: Jak system traktuje dysk twardy? Moim zdaniem jak pamięć. Ale mogę się mylić. Z tego co przeczytałem to SLOB jest przeznaczony do systemów wbudowanych. Pozdrawiam Jacol
Re: kernel i SLAB allocator
Niby macie rację... ale praktycznie od zawsze HDD było najwolniejszym ogniwem/podzespołem. Nawet obecnie - w dobie SAS, SATA3, SSD itp. nadal dyski są o wieeeeele wolniejsze od RAM czy CPU. Dlatego ciężko mi uwierzyć, żeby nawet obsługiwana w najgorszy możliwy sposób pamięć mogła być wolniejsza od dysku talerzowego. Moim zdaniem chodzi tutaj o coś innego - ale nie mam zielonego pojęcia, co to może być...
Re: kernel i SLAB allocator
Praktycznie każda nietrywialna operacja na jądrze powoduje alokację pamięci, więc wydaje mi się oczywiste, że alokator ma duży wpływ na wydajność systemu. Operacja na plikach to często konieczność alokacji inodów, dentry, struct file itp.
Z drugiej strony, dwukrotne spowolnienie jest faktycznie dość ekstremalne.
Jeżeli chce Ci się dalej grzebać, to debugfs i perf mogą być pomocne. Mnie by się nie chciało. ;)
Z drugiej strony, dwukrotne spowolnienie jest faktycznie dość ekstremalne.
Jeżeli chce Ci się dalej grzebać, to debugfs i perf mogą być pomocne. Mnie by się nie chciało. ;)
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Re: kernel i SLAB allocator
Mina - Mi też się nie chce .
Ważne, że znalazłem przyczynę i teraz wszystko działa zgodnie z oczekiwaniami.
Po prostu - byłem ciekawy, czy ktoś miał do czynienia wcześniej z takim "zjawiskiem" - zawsze fajnie jest się dowiedzieć/nauczyć czegoś nowego.
Ważne, że znalazłem przyczynę i teraz wszystko działa zgodnie z oczekiwaniami.
Po prostu - byłem ciekawy, czy ktoś miał do czynienia wcześniej z takim "zjawiskiem" - zawsze fajnie jest się dowiedzieć/nauczyć czegoś nowego.