Skocz do zawartości

Czy Działa U Was Nice?


witekmo

Rekomendowane odpowiedzi

Właśnie zauważyłem, że moja F15 ignoruje polecenie 'nice'. Pomimo, że 2 podobne procesy, choć mają skrajnie różne 'niceness' (-1 oraz 19) tak samo obciążają procesor i rzeczywiście - to nie jest złudzenie - pracują tak samo szybko. Spotkałem się z tym problemem w Fuduntu (klon Fedory) i widze, że Fedora także ma ten problem. Oczywiście Salix, którego mam równolegle działa poprawnie. Ciekawe czy to dotyczy tylko mojego systemu/sprzętu, czy to powszechne w Fedorze?

Odnośnik do komentarza
Udostępnij na innych stronach

Nice raczej nie wpływa na szybkość wykonywania się procesu. Bardziej działa to w ten sposób, jeśli procesowi z wyższym priorytetem zacznie brakować mocy procesora to wtedy ten z niższym jest wstrzymywany. Widocznie u Ciebie scheduler zdecydował, że procesor jest w stanie pociągnąć wykonywanie dwóch procesów równolegle.

Gdzieś widziałem graficzne monitory obciążenia procesora, które ładnie pokazują jak zachowują się procesy z niskim priorytetem. W sumie z gnome-system-monitora właściwie nigdy nie korzystam, ale może on też takie rzeczy pokazuje.

Odnośnik do komentarza
Udostępnij na innych stronach

Nice zawsze sluzylo do ustalania priorytetu. Jesli chcialo sie, zeby cos obciazalo procesor mniej (np. kompilacja czy kodowanie filmu), to nadawalo sie wysokie 'niceness' i mialo sie pewnosc, ze nie bedzie obciazac procka, gdy inne procesy z wyzszym priorytetem zadzialaja.

http://pl.wikipedia.org/wiki/Nice_%28Unix%29

 

U mnie brak tego zachowania pod Fedora. Pod inna dystrybucja dziala dobrze - proces o nizszym priorytecie dostaje mniej czasu CPU. Teraz pytanie czemu pod Fedora ten mechanizm ustawiania priorytetu nie dziala? Na fedoraforum ktos cos przebakuje o cgroups (tej lacie na jadro która miala zwiekszyc responsywnosc systemu). Jesli tak, to jakos nikt o tym glosno nie mówi i na razie nie wiem jak uzyskac podobne zachowanie za pomoca cgroups, równie latwo jak za pomoca nice.

Odnośnik do komentarza
Udostępnij na innych stronach

Pod inną dystrybucją działa dobrze - proces o niższym priorytecie dostaje mniej czasu CPU. Teraz pytanie czemu pod Fedorą ten mechanizm ustawiania priorytetu nie działa?

Pod tą inną dystrybucją masz to samo jądro? Działa, ale inaczej niż to opisujesz. Scheduler odpowiada za maksymalne wykorzystanie procesora. Działanie takie, że proces z niskim priorytetem nie obciąża procesora nawet, kiedy jest on w stanie bezczynności jest marnotrawieniem czasu procesora. Jeśli system ma zadania do wykonania powinien dążyć do jak najszybszego ich wykonania, ale nie kosztem aplikacji z wyższym priorytetem lub utracenia responsywności.

Najlepszym przykładem jest chyba zachowanie Nepomuka pod KDE (w sumie jest to proces virtuoso). Jeśli masz KDE to zwróć uwagę jak ten proces się zachowuje mając najniższy priorytet.

Jeśli kiedyś scheduler działał w ten sposób jak napisałeś, czyli proces z niskim priorytetem obciążał mniej procesor i w ten sposób marnował czas procesora, to było to bardzo nieefektywne zachowanie.

 

No chyba, że faktycznie coś z Fedorą, ale ja w to nie wierzę, bo Fedora używa standardowego schedulera z jądra.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie rozumiecie mnie: mam 2 procesy, z których kazdy w 100% obciaza procesor, chce zeby jeden mial priorytet nad drugimn. I to nie dziala.

 

Proponuje, zeby kazdy kto ma watpliwosci zrobil sobie test. Wystarczy zapuscic przekodowywanie filmu lub kompilacje duzego programu, 2 procesy robiace dokladnie to samo. Jeden z wysokim priorytetm drugi z niskim. Oba beda tak samo obciazac CPU, chociaz kiedys bylo inaczej (i nadal jest w innych dystrybucjach): ten z wyzszym priorytetem czesciej dostawal czas procesora.

 

Wyglada na to, ze znane wszystkim nice juz nie obowiazuje. Szkoda tylko, ze tak malo na ten temat informacji. Jedyny sensowny opis jak teraz ustalac priorytety znalazlem tutaj: https://wiki.archlinux.org/index.php/Cgroups , co nie zmienia faktu, ze 'nice' bylo przyjemniejsze.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...