Peter Jensen wrote:
>
> mtg wrote:
>
> > Jeg har brug for at hente detaljeret info om memoryforbrug for en
> > bestemt process på min Linux maskine.
Jeg vil mene /proc/%d/maps er det mest detaljerede,
du kan finde. Dog er nogle af Vm felterne i
/proc/%d/status også rigtig gode.
VmSize burde være identisk med summen af alle
linierne i maps. De efterfølgende linier
fortæller hvor stor en del af siderne, der er hhv.
låst og resident.
Det burde altid være tilfældet, at
VmSize >= VmRSS >= VmLck.
En resident side ligger pt. i RAM. Alle andre
sider ligger enten på swap eller i en fil. En låst
side bliver altid i RAM uanset, om den er i brug
eller ej. Sider låses f.eks. hvis det er nødvendigt
for at opfylde nogle performance krav, eller hvis
der er tale om meget fortrolige data (passwords og
krypterings nøgler).
>
> Personligt synes jeg ikke der er bedre dokumentation end kildekoden til
> det der genererer den fil. Kig på sprintf kaldet i funktionen
> proc_pid_stat i filen fs/proc/array.c under kernel root. Derfra kan du
> følge de forskellige strukturer rundt og se hvad de egentligt viser.
Jeg har heller ikke set nogen bedre dokumentation end
sourcekoden. Så det eneste jeg kan bidrage med er et
link til et godt site, hvis man lige vil browse lidt
rundt i sourcekoden:
http://lxr.linux.no/source/fs/proc/array.c?v=2.6.8.1#L361
Hvis der er mere specifikke spørgsmål, så spørg endelig.
--
Kasper Dupont