Portál AbcLinuxu, 31. října 2025 08:02
nice pouzivam casto (renice jakbysmet)
             7.1.2011 09:01
Selmi             | skóre: 17
            
             | Košice
        7.1.2011 09:01
Selmi             | skóre: 17
            
             | Košice
         
             A jestli kompiluji o 5 minut vic nebo min... to je fuk.
 A jestli kompiluji o 5 minut vic nebo min... to je fuk.
            proc, prioritu portage de nastavit i v make.conf ...
 
             7.1.2011 14:58
Heron             | skóre: 53
             | blog: root_at_heron
             | Olomouc
        7.1.2011 14:58
Heron             | skóre: 53
             | blog: root_at_heron
             | Olomouc
         7.1.2011 15:16
Heron             | skóre: 53
             | blog: root_at_heron
             | Olomouc
        7.1.2011 15:16
Heron             | skóre: 53
             | blog: root_at_heron
             | Olomouc
         
             7.1.2011 19:27
otula             | skóre: 45
             | blog: otakar
             | Adamov
        7.1.2011 19:27
otula             | skóre: 45
             | blog: otakar
             | Adamov
         (load se dostává ke 100 % na obou jádrech)
 (load se dostává ke 100 % na obou jádrech)
            load se dostává ke 100 % na obou jádrech
A to je špatně? Pro mne by spíš bylo špatně, pokud by to tak nebylo.
 9.1.2011 19:01
otula             | skóre: 45
             | blog: otakar
             | Adamov
        9.1.2011 19:01
otula             | skóre: 45
             | blog: otakar
             | Adamov
        nice, na což padl argument, že je dobré, když se dá během kompilace i pracovat, nacož Heron argumentoval, že se mu na relativně starém jednojádru nepřehoupne load přes 15 %. Tak jsem jen napsal, že mívám vytížena 2 jádra na 100 % a pracovat při tom nejde (takže také považuji použití nice za normální)
             9.1.2011 19:08
Jendа             | skóre: 78
             | blog: Jenda
             | JO70FB
        9.1.2011 19:08
Jendа             | skóre: 78
             | blog: Jenda
             | JO70FB
         9.1.2011 22:00
otula             | skóre: 45
             | blog: otakar
             | Adamov
        9.1.2011 22:00
otula             | skóre: 45
             | blog: otakar
             | Adamov
         9.1.2011 22:55
Heron             | skóre: 53
             | blog: root_at_heron
             | Olomouc
        9.1.2011 22:55
Heron             | skóre: 53
             | blog: root_at_heron
             | Olomouc
        takže snad Heron opravdu myslel 15 %.
Nemyslel. Heron myslel load 15, tedy 15 procecesů ve stavu Run, každý schopný samostatně vytížit (jednojádrový) procesor na 100%. Ostatně, je to POVRay, že.
Zkus si to. Stačí ti xkrát pustit cat /dev/zero | bzip2 > /dev/null a load bude => x.
 9.1.2011 23:03
Chytrex             | skóre: 30
            
             | Bohumín
        9.1.2011 23:03
Chytrex             | skóre: 30
            
             | Bohumín
        ab. Měl jsem na dva dny k dispozici Sun Fire V20z a nemohl jsem odolat. :-)
             10.1.2011 08:26
otula             | skóre: 45
             | blog: otakar
             | Adamov
        10.1.2011 08:26
otula             | skóre: 45
             | blog: otakar
             | Adamov
         10.1.2011 00:27
Josef Kufner             | skóre: 70
        10.1.2011 00:27
Josef Kufner             | skóre: 70
            
            
         10.1.2011 08:30
otula             | skóre: 45
             | blog: otakar
             | Adamov
        10.1.2011 08:30
otula             | skóre: 45
             | blog: otakar
             | Adamov
         10.1.2011 21:04
Josef Kufner             | skóre: 70
        10.1.2011 21:04
Josef Kufner             | skóre: 70
            
            
         10.1.2011 10:01
Heron             | skóre: 53
             | blog: root_at_heron
             | Olomouc
        10.1.2011 10:01
Heron             | skóre: 53
             | blog: root_at_heron
             | Olomouc
        Pokud má Load 15, tak by si měl pořídit silnější stroj.
To není tak jednoduchá odpověď. Samozřejmě, pokud má někdo trvalý load při běžné práci větší, než je počet procesorů (jader, výpočetních jednotek, nebo jak k tomu chceme říkat), tak je rychlejší HW na místě. Na druhou stranu budou vždy existovat úlohy, které vytíží jakýkoliv HW. Myslel jsem si, že ten příklad s POVRay bude dostatečně výmluvný.
 10.1.2011 21:09
Josef Kufner             | skóre: 70
        10.1.2011 21:09
Josef Kufner             | skóre: 70
            
            
         9.1.2011 19:10
Jendа             | skóre: 78
             | blog: Jenda
             | JO70FB
        9.1.2011 19:10
Jendа             | skóre: 78
             | blog: Jenda
             | JO70FB
        Na jednojádře (AthlonXP) jsem míval bez problémů load 15 (nechtěla se mi řešit fronta pro render v PovRAY, tak jsem to pustil současně) a šlo tam dál normálně pracovat.Asi taky záleží na typu zátěže. Pokud se jenom něco počítá, tak to celkem jde. Ale pokud se moc seekuje po disku, tak už je to horší.
 7.1.2011 15:05
Heron             | skóre: 53
             | blog: root_at_heron
             | Olomouc
        7.1.2011 15:05
Heron             | skóre: 53
             | blog: root_at_heron
             | Olomouc
        Conův alternativní návrh je ve větší míře vložit řízení interaktivity do rukou uživatelského prostoru. Ke každému procesu by přidal parametr, který bude popisovat jeho potřeby, co se latence týče. Aplikace by poté mohly svoje požadavky sdělit jádru; aplikace přehrávající zvuk by od jádra žádalo co nejmenší latence, zatímco make by jádro informovalo o tom, že na latenci záleží jenom málo. K tomu by se přidalo globální nastavení udávající, jestli by procesy s nízkými latencemi také měly dostat více času CPU. Výsledkem by podle Cona bylo to, že by se explicitně preferovaly procesy „na popředí“ (za předpokladu, že to budou ty, které vyžadují nižší latenci). Distributoři by pro tyto parametry mohli nastavit výchozí hodnoty; uživatelé by je potom mohli změnit.
Kde jsou ty doby, kdy se Linuxáři smáli Windows, že plánuje podle toho, jestli je okno aplikace má fokus nebo ne. Teď už se tato prasárna diskutuje i v JN.
 7.1.2011 15:22
stativ             | skóre: 54
             | blog: SlaNé roury
        7.1.2011 15:22
stativ             | skóre: 54
             | blog: SlaNé roury
            
        Kde jsou ty doby, kdy se Linuxáři smáli Windows, že plánuje podle toho, jestli je okno aplikace má fokus nebo ne.Špatně čteš - o fokusu okna tam není ani zmínka.
že plánuje podle toho, jestli je okno aplikace má fokus nebo neNo, ono to je v podstate velmi smysluplna featura. Samozrejme je nesmysl takovou heuristiku rvat primo do planovace, ale kdyby muj window manager nabizel dynamickou zmenu priorit procesu podle fokusu, tak bych si to urcite zapnul. Samozrejme, implementace takove featury by vyzadovala asi nejake dalsi zmeny v Linuxu (napr. zminene group schedulovani podle sessions a moznost prirazeni a uzivatelske zmeny priorit tem skupinam).
 9.1.2011 13:57
Josef Kufner             | skóre: 70
        9.1.2011 13:57
Josef Kufner             | skóre: 70
            
            
        Pokud bude scheduler potřebovat, aby programy říkaly, jak moc interaktivní jsou, tak to zákonitě někdo do všech programů musí dodělat.Ale proč by to bylo potřeba? Od toho jsou výchozí hodnoty a není problém, aby byly stejné jako doteď. Když program nebude chtít specifikovat, že potřebuje malou latenci, tak to neudělá; a hádal bych, že programy na přehrávání hudby/videa se adaptují hodně rychle, protože tam to dává smysl.
Nedosti na tom, interaktivita programů se mění v čase: ledasjaká klikací aplikace se občas na pár sekund zamyslí a tou dobou ji opravdu nechci upřednostňovat.Opět nevidím problém - jestliže je aplikace udělaná tak, že si specifikuje požadavek na interaktivitu, pak si ho taky bude moci změnit předtím, než začne chroustat.
 8.1.2011 20:22
Jardík             | skóre: 40
             | blog: jarda_bloguje
        8.1.2011 20:22
Jardík             | skóre: 40
             | blog: jarda_bloguje
            
         9.1.2011 16:17
alblaho             | skóre: 17
             | blog: alblog
        9.1.2011 16:17
alblaho             | skóre: 17
             | blog: alblog
            
         
             9.1.2011 18:00
Josef Kufner             | skóre: 70
        9.1.2011 18:00
Josef Kufner             | skóre: 70
            
            
        
#include <pthread.h>
#include <stdio.h>
#include <unistd.h>
void* th_main(void* a)
{
  printf("T2: %u\n", getpid());
  return NULL;
}
int main()
{
  pthread_t t;
  printf("T1: %u\n", getpid());
  pthread_create(&t, NULL, th_main, NULL);
  pthread_join(t, NULL);
  return 0;
}
             Ono je to celé ještě o něco složitější. Jak to říkal Shrek s tou cibulí...
https://lkml.org/lkml/2010/10/17/181
Předseda má pravdu - v kernelu má každý task svůj vlastní "task id" - často deklarovaný jako "pid_t tid;" To co v user space vnímáte jako vlákno, je v kernelu prostě task. Rozvlákněnému user-space procesu odpovídá kernelová "task group". To co v user space zjistíte knihovní funkcí Glibc::NPTL zvanou "getpid()", je vlastně TID/PID kernelového "task group leadera".
Kernelový TID/PID jednotlivého vlákna lze zjistit syscallem gettid(), který pravda ve starších verzích glibc nebyl přítomen ve veřejných hlavičkách standardní knihovny, a "není posixly correct".
User-space glibc/NPTL typ pthread_t (vrací ho pthread_create()) sice vypadá na první pohled dál jako integer, ale uvnitř pod haubnou NTPL je to ve skutečnosti "struct pthread*" = ukazatel na struct, ve kterém si NPTL drží data o daném jednotlivém vlákně... V tomhle structu je jaderný TID/PID taky poznamenán, ale bohužel "struct pthread" není deklarován ve veřejných hlavičkách Glibc/NPTL...
 Ono je to celé ještě o něco složitější. Jak to říkal Shrek s tou cibulí...
https://lkml.org/lkml/2010/10/17/181
Předseda má pravdu - v kernelu má každý task svůj vlastní "task id" - často deklarovaný jako "pid_t tid;" To co v user space vnímáte jako vlákno, je v kernelu prostě task. Rozvlákněnému user-space procesu odpovídá kernelová "task group". To co v user space zjistíte knihovní funkcí Glibc::NPTL zvanou "getpid()", je vlastně TID/PID kernelového "task group leadera".
Kernelový TID/PID jednotlivého vlákna lze zjistit syscallem gettid(), který pravda ve starších verzích glibc nebyl přítomen ve veřejných hlavičkách standardní knihovny, a "není posixly correct".
User-space glibc/NPTL typ pthread_t (vrací ho pthread_create()) sice vypadá na první pohled dál jako integer, ale uvnitř pod haubnou NTPL je to ve skutečnosti "struct pthread*" = ukazatel na struct, ve kterém si NPTL drží data o daném jednotlivém vlákně... V tomhle structu je jaderný TID/PID taky poznamenán, ale bohužel "struct pthread" není deklarován ve veřejných hlavičkách Glibc/NPTL...
            User-space glibc/NPTL typ pthread_t (vrací ho pthread_create()) sice vypadá na první pohled dál jako integer, ale uvnitř pod haubnou NTPL je to ve skutečnosti "struct pthread*" = ukazatel na struct, ve kterém si NPTL drží data o daném jednotlivém vlákně...
V jakési starší verzi to bylo o to pikantnější, že na 32-bitových systémech byl pthread_t pointer, zatímco na 64-bitových integer. Velmi praktické, hlavně když ho člověk potřeboval vypsat do logu…
 10.1.2011 00:23
Jardík             | skóre: 40
             | blog: jarda_bloguje
        10.1.2011 00:23
Jardík             | skóre: 40
             | blog: jarda_bloguje
            
        
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.