/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Tildele begrænsede resourcer til updated
Fra : Bjarne Jensen


Dato : 01-12-04 13:43

Jeg oplever, at updatedb næsten stjæler hele processorkraften.
Kan det lade sig gøre, at drosle et program lidt ned så der
også bliver lidt power til de andre programmer?

 
 
Kasper Dupont (01-12-2004)
Kommentar
Fra : Kasper Dupont


Dato : 01-12-04 13:33

Bjarne Jensen wrote:
>
> Jeg oplever, at updatedb næsten stjæler hele processorkraften.

Mit umiddelbare gæt er, at du tager fejl. Du må hellere
forklare, hvad det er for symptomer du ser. Bliver CPU tiden
brugt i user mode eller kernel mode? Hvis updatedb bruger
meget CPU tid i kernel mode kan det skyldes en harddisk, som
ikke er konfigureret til at bruge DMA.

> Kan det lade sig gøre, at drosle et program lidt ned så der
> også bliver lidt power til de andre programmer?

Man kan bruge nice/renice. Men på de systemer jeg bruger gør
slocate.cron det af sig selv. Hvad er det for et system du
bruger?

--
Kasper Dupont

Bjarne Jensen (01-12-2004)
Kommentar
Fra : Bjarne Jensen


Dato : 01-12-04 15:49

Kasper Dupont wrote:
> Du må hellere forklare, hvad det er for symptomer du ser.

Jeg ser et system som fra at funke ok går i koma medens
updatedb får harddisken til at spinde på fuld skrue

> Bliver CPU tiden brugt i user mode eller kernel mode?

øhh.. hvordan ser man det ?

> .. en harddisk, som ikke er konfigureret til at bruge DMA.

igen, hvordan ser man det ?

Jeg bruger Gentoo på en 2400 mhz AMD med 512 mb.

Peter Jensen (01-12-2004)
Kommentar
Fra : Peter Jensen


Dato : 01-12-04 15:42

Bjarne Jensen wrote:

>> Du må hellere forklare, hvad det er for symptomer du ser.
>
> Jeg ser et system som fra at funke ok går i koma medens updatedb får
> harddisken til at spinde på fuld skrue

Lyder som manglende DMA

>> Bliver CPU tiden brugt i user mode eller kernel mode?
>
> øhh.. hvordan ser man det ?

'top' er én måde at se det på. Hvis tiden bliver brugt i system, så er
den gal.

>> .. en harddisk, som ikke er konfigureret til at bruge DMA.
>
> igen, hvordan ser man det ?

'hdparm /dev/hda' (for primary master harddisken). Kig efter
'using_dma'. Prøv også 'hdparm -d1 /dev/hda' for at se om DMA kan
aktiveres.

> Jeg bruger Gentoo på en 2400 mhz AMD med 512 mb.

Hvis du har lavet din egen kernel er fejlen sandsynligvis at du ikke har
inkluderet support for dit IDE controller chipset. Gav i hvert fald mig
problemer da driveren til mit chipset engang blev splittet fra den
generelle driver.

--
PeKaJe

I want to read my new poem about pork brains and outer space ...

Kasper Dupont (01-12-2004)
Kommentar
Fra : Kasper Dupont


Dato : 01-12-04 16:34

Bjarne Jensen wrote:
>
> Kasper Dupont wrote:
> > Du må hellere forklare, hvad det er for symptomer du ser.
>
> Jeg ser et system som fra at funke ok går i koma medens
> updatedb får harddisken til at spinde på fuld skrue

Jeg tvivler på der findes harddiske, som kan køre med
forskellige omdregningshastigheder, så hvad er det
egentlig du mener? Lyser dioden konstant, eller kan du
høre diskhovedet flytte sig frem og tilbage? Uanset om
det ene eller det andet er tilfældet kan der sagtens
være masser af ledige CPU resourcer.

>
> > Bliver CPU tiden brugt i user mode eller kernel mode?
>
> øhh.. hvordan ser man det ?

Jeg plejer at bruge top. Kig efter nolge linier der
ligner de her. (Udseendet varierer lidt afhængigt
af antal CPUer, hvilken top version, og indstillingerne).

CPU states: cpu user nice system irq softirq iowait idle
total 0.0% 0.0% 1.9% 0.0% 0.0% 0.0% 98.0%

>
> > .. en harddisk, som ikke er konfigureret til at bruge DMA.
>
> igen, hvordan ser man det ?

hdparm efterfulgt af navnet på disken.

>
> Jeg bruger Gentoo på en 2400 mhz AMD med 512 mb.

Så burde CPUen i hvert fald ikke blive flaskehalsen.
Tag også et kig på hukommelsesoplysningerne fra top,
så kan man vurdere om RAM mængden er underdimensioneret.
(512MB plejer at være nok til mig, så længe det kun er
mig selv, der benytter maskinen).

Hvilken kerne version bruger du? Hvis du bruger en 2.6
kerne kunne det måske være interessant at kigge lidt på
de forskellige I/O schedulers.

--
Kasper Dupont

Jacob Tranholm (01-12-2004)
Kommentar
Fra : Jacob Tranholm


Dato : 01-12-04 17:25

Bjarne Jensen wrote:
>
> Jeg bruger Gentoo på en 2400 mhz AMD med 512 mb.

Jeg bruger også Gentoo. - Og jeg oplever det samme når updatedb køres
vha. cron-jobbet...

Hvis du kigger i din '/etc/cron.daily/slocate' vil du se, at kommandoen
'nice' anvendes til at sørge for, at updatedb ikke stjæler alle
ressourcerne. Jeg har eksperimenteret lidt med det og har desværre ikke
fundet en løsning på problemet endnu. Tilsyneladende stjæler updatedb
alle systemressourcerne i et par minutter uanset hvilken prioritet
programmet får tildelt (på min computer). - Hvorvidt dette er tegn på at
nice ikke fungerer, eller updatedb ikke fungerer, eller om de to
programmer bare ikke kan samarbejde, har jeg endnu ikke fundet ud af.

Jeg har ikke mere tid lige nu, men jeg kigger på det senere i aften...

Jacob Tranholm (01-12-2004)
Kommentar
Fra : Jacob Tranholm


Dato : 01-12-04 20:11

Jacob Tranholm wrote:
>
> Jeg bruger også Gentoo. - Og jeg oplever det samme når updatedb køres
> vha. cron-jobbet...
>

Jeg er nødt til at trække mine ord tilbage... Jeg har netop afprøvet
kommandoen 'nice /usr/bin/updatedb' samtidig med, at jeg havde et par
andre CPU-krævende programmer kørende. Og på intet tidspunkt bruger
updatedb mere end 50% af processorkraften (aflæst vha. top); og alle de
andre programmer er i stand til at fortsætte deres arbejde uden
problemer. - Jeg vil ikke spilde en CD på at prøve at køre updatedb
sammen med fx. cdrdao eller cdrecord, hvor der muligvis kunne opstå
fejlbrændinger, men ellers kører updatedb ganske udmærket sammen med de
andre programmer. Jeg må dog indrømme, at programmerne starter en smule
langsommere op imens updatedb kører.

Du kunne eventuelt forsøge at geninstallere nice og updatedb. Dette kan
gøres med kommandoen:
emerge coreutils slocate

Bjarne Jensen (02-12-2004)
Kommentar
Fra : Bjarne Jensen


Dato : 02-12-04 00:20

Gisp - det var en masse respons :)

Det problem jeg har er, at når jeg kører updatedb tager det
laaaaaang tid at starte andre programmer op eller loade en
ny fil til tekstbehandling.
Eks: OOo 1.1 tager 15 sekunder fra klik på skrivebords-ikon.
Med slocate/updatedb kørende tager det op til 75 sekunder !

Harddisken er (og var) sat til at bruge DMA. Det jeg mente
med at "spinde på fuld skrue" var at jeg kunne høre der var
harddisk-aktivitet - og nu har jeg set at dioden lyser stort
set uafbrudt.

top ser ok ud: jeg observerede i snit omkring 4% cpu til
updatedb - spikes op til 12% og lige til slut et burst op
til 40% i to sekunder max.

top 23:06:49 up 14:07, 1 user, load avg: 1.16, 0.77,0.67
Tasks: 78 total, 3 running, 75 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.0% user, 9.6% system, 0.0% nice, 89.4% idle

Iøvrigt er det en 2.4 kerne og jeg har ikke kørt slocate som
et cron job - bare direkte fra kommandolinien UDEN nice.

Kasper Dupont (02-12-2004)
Kommentar
Fra : Kasper Dupont


Dato : 02-12-04 00:32

Bjarne Jensen wrote:
>
> Gisp - det var en masse respons :)
>
> Det problem jeg har er, at når jeg kører updatedb tager det
> laaaaaang tid at starte andre programmer op eller loade en
> ny fil til tekstbehandling.
> Eks: OOo 1.1 tager 15 sekunder fra klik på skrivebords-ikon.
> Med slocate/updatedb kørende tager det op til 75 sekunder !

Det er så fordi disken har travlt. Der er ikke noget
problem med CPU resourcer. Det burde selvfølgelig ikke
tage fem gange så lang tid at starte OOo, men det er
jeg nu alligevel ikke overrasket over. Nice har så
vidt jeg ved kun inflydelse på CPU forbrug, ikke
disktilgang. Og I/O scheduleringen er nok ikke så god
i den kerne version. Disken bruger nok mere tid på at
søge frem og tilbage end egentlige læsninger. En nyere
kerne med en bedre I/O schedulering burde reducere de
75 sekunder til det halve. Muligvis kan mere RAM også
hjælpe, men det kan jeg ikke udtale mig om uden at have
set nogle tal for forbruget.

>
> Harddisken er (og var) sat til at bruge DMA.

OK.

> Det jeg mente
> med at "spinde på fuld skrue" var at jeg kunne høre der var
> harddisk-aktivitet - og nu har jeg set at dioden lyser stort
> set uafbrudt.

OK, den har bare ganske almindeligt travlt. Jeg har
tit bare valgt at afinstallere slocate. Men det kan
nu også af og til være brugbart.

>
> top ser ok ud: jeg observerede i snit omkring 4% cpu til
> updatedb - spikes op til 12% og lige til slut et burst op
> til 40% i to sekunder max.
>
> top 23:06:49 up 14:07, 1 user, load avg: 1.16, 0.77,0.67
> Tasks: 78 total, 3 running, 75 sleeping, 0 stopped, 0 zombie
> Cpu(s): 1.0% user, 9.6% system, 0.0% nice, 89.4% idle

OK, det ser godt nok ud. Jeg undrer mig lidt over at
der ikke er noget nice forbrug. Måske bruger updatedb
mindre end 0.1% CPU tid i user mode.

>
> Iøvrigt er det en 2.4 kerne

Nå OK, jeg har læst om nogle forbedringer i 2.6, som
burde hjælpe på det her, men jeg har ikke selv lavet
nogle målinger på det.

> og jeg har ikke kørt slocate som
> et cron job - bare direkte fra kommandolinien UDEN nice.

slocate kan bare hente oplysninger fra databasen. Det
er nødvendigt at opdatere databasen en gang i mellem,
ellers er slocate ubrugelig. Opdateringen plejer at
starte hver nat klokken 4:02 (I hvert fald på RH og FC).
Jeg ved ikke hvordan det er sat op på Gentoo, prøv at
se hvad der står i: /etc/cron.daily/slocate.cron

--
Kasper Dupont

Bjarne Jensen (05-12-2004)
Kommentar
Fra : Bjarne Jensen


Dato : 05-12-04 18:40

OK, svaret ser ud til at være en ny kerne - må prøve igen at få en 2.6
til at funke på denne puter.
Tak for jeres indsats.
Bjarne

Niels L. Ellegaard (01-12-2004)
Kommentar
Fra : Niels L. Ellegaard


Dato : 01-12-04 20:46

Jacob Tranholm <jacob_tranholm@hotmail.com> writes:

> Jeg er nødt til at trække mine ord tilbage... Jeg har netop afprøvet
> kommandoen 'nice /usr/bin/updatedb' samtidig med, at jeg havde et par
> andre CPU-krævende programmer kørende. Og på intet tidspunkt bruger
> updatedb mere end 50% af processorkraften (aflæst vha. top);

En lille note. Du kan skrue op og ned for nice ved at angive en
parameter mellem -19 og 20.

nice --help
nice -19 updatedb

Her er en udskrift fra top efter er par minutter

top - 20:43:17 up 1:36, 3 users, load average: 1.77, 1.07, 0.49
Tasks: 91 total, 2 running, 88 sleeping, 0 stopped, 1 zombie
Cpu(s): 0.3% us, 2.3% sy, 0.7% ni, 0.0% id, 96.3% wa, 0.3% hi, 0.0% si
Mem: 775940k total, 771636k used, 4304k free, 62592k buffers
Swap: 979956k total, 0k used, 979956k free, 64072k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9667 root 34 19 1592 712 1396 R 2.3 0.1 0:09.27 find
2507 root 5 -10 101m 18m 89m S 0.3 2.5 1:23.77 XFree86
1 root 16 0 1528 524 1376 S 0.0 0.1 0:00.52 init
2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/



Jacob Tranholm (01-12-2004)
Kommentar
Fra : Jacob Tranholm


Dato : 01-12-04 22:23

Niels L. Ellegaard wrote:
>
> En lille note. Du kan skrue op og ned for nice ved at angive en
> parameter mellem -19 og 20.
>
> nice --help
> nice -19 updatedb
>

Helt rigtigt, men -19 er vel næppe den værdi, der skal vælges af Bjarne.
Standardværdien for nice er mig bekendt 10 og for Bjarne kunne det være
hensigtsmæssigt at anvende kommandoen:

nice -n 19 updatedb

Men ikke -19...

I din udgave af top vil jeg gætte på, at updatedb allerede er blevet
færdig med processen og derfor overhovedet ikke kan ses.
På min computer bliver alle andre programmer sat i stå i et par
minutter, hvis jeg anvender 'nice -n -19 updatedb'...

Klaus Ellegaard (01-12-2004)
Kommentar
Fra : Klaus Ellegaard


Dato : 01-12-04 22:25

Jacob Tranholm <jacob_tranholm@hotmail.com> writes:
>nice -n 19 updatedb
>
>Men ikke -19...

"-n 19" og "-19" er det samme.

>På min computer bliver alle andre programmer sat i stå i et par
>minutter, hvis jeg anvender 'nice -n -19 updatedb'...

Ja, for så kører den med negativ prioritet - før alt andet. Og det
er det modsatte af, hvad du ønsker at opnå.

Mvh.
   Klaus.

Jacob Tranholm (01-12-2004)
Kommentar
Fra : Jacob Tranholm


Dato : 01-12-04 22:40

Klaus Ellegaard wrote:
>
> "-n 19" og "-19" er det samme.
>

Det har muligvis noget at gøre med versionen af nice. Men hvis jeg
skriver 'nice -19', så får jeg følgende fejlbesked:

tranholm jt # nice -19 echo "Dette er blot en test..."
nice: `-19' option is obsolete; use `-n -19' since this will be removed
in the future
Dette er blot en test...
tranholm jt # nice --version
nice (GNU coreutils) 5.2.1
Written by David MacKenzie.
Copyright (C) 2004 Free Software Foundation, Inc.
Dette er frit programmel; se kildeteksten for betingelser for kopiering.
Der er INGEN garanti; ikke engang for SALGBARHED eller EGNETHED FOR ET
SPECIELT FORMÅL.

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408930
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste