witekmo Napisano Lipiec 12, 2011 Zgłoszenie Share Napisano Lipiec 12, 2011 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 More sharing options...
thof Napisano Lipiec 12, 2011 Zgłoszenie Share Napisano Lipiec 12, 2011 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 More sharing options...
witekmo Napisano Lipiec 13, 2011 Autor Zgłoszenie Share Napisano Lipiec 13, 2011 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 More sharing options...
thof Napisano Lipiec 13, 2011 Zgłoszenie Share Napisano Lipiec 13, 2011 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 More sharing options...
witekmo Napisano Lipiec 13, 2011 Autor Zgłoszenie Share Napisano Lipiec 13, 2011 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 More sharing options...
ecik__ Napisano Lipiec 14, 2011 Zgłoszenie Share Napisano Lipiec 14, 2011 Sprawdzilem to u siebie i wyglada na to, ze faktycznie nice jest ignorowane. Ciekawa sprawa, chyba trzeba bedzie ja jeszcze przebadac. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
SeeM Napisano Lipiec 14, 2011 Zgłoszenie Share Napisano Lipiec 14, 2011 No właśnie też zauważyłem, że mi się gierki na wine przycinają. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
witekmo Napisano Lipiec 14, 2011 Autor Zgłoszenie Share Napisano Lipiec 14, 2011 Na razie zapodalem buga, zobaczymy czy to bug czy feature https://bugzilla.red...g.cgi?id=721416 EDIT: Okazuje sie, ze tak ma byc. Rozwiazaniem jest: echo "kernel.sched_autogroup_enabled = 0" >> /etc/sysctl.conf Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
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ę