sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #03860
Re: hard-core kerne ?: minor pagefault
On Sun, 7 Mar 1999, Morten Olsen wrote:
> Kan nogle fortælle mig den præcise definition på hvad "minor-pagefaults"
> indebærer. De er bla. angivet når man bruger time kommandoen.
>
> Jeg ved godt hvad en page-fault er, ved en major-pagefault skal noget
> pages ind fra disk, men hvad laver kernen ved en minor?
Naar man IKKE behoever at hente noget fra disken for at "oprette" en
side :)
Fx. naar en process laver en fork() saa kopieres de hukommelsessider som
processen bruger, som er skrivbare, ikke. De bliver skrivebeskyttet, og
naar en af de 2 kopier af processen faktisk forsoeger at skrive til dem -
saa bliver de kopieret. Ogsaa kendt som "copy-on-write".
Hver gang det sker, saa bliver den minor fault counter talt op. Det sker
vist ogsaa et par andre steder.
Du kan evt. selv kigge i kerne koden. Her er hvordan man finder ud af
saadan noget:
1) Koer en strace paa 'time' for at finde ude af hvordan den faar fat i
tiden. der ser du at den lave en wait4() kalde.. og der staar noget med
usage.
2) man wait4 siger at man kan faa noget resource usage ud af barnet, og
fortaeller at man skal kigge i man getrusage
3) man getrusage naevner et ru_minflt felt og ru_majflt.
4) Ved at greppe kildekoden ser man et sted for en ru_minflt variablen i
userspace bliver fyldt med variablen min_flt fra kernens variabler
5) Naar du saa leder efter min_flt saa er der et par stedet den bliver
foreger (min_flt++) - disse funktioner har typisk nogle gode kommentarer.
--
==============================================================================
Erwin Andreasen Herlev, Denmark <erw@xxxxxx> UNIX System Programmer
<URL:http://www.andreasen.org> <*> (not speaking for) DDE
==============================================================================
References