/proc filesystem
Andrew Duane
aduane at juniper.net
Thu Jul 12 22:51:30 UTC 2012
> -----Original Message-----
> From: owner-freebsd-hackers at freebsd.org [mailto:owner-freebsd-
> hackers at freebsd.org] On Behalf Of Ian Lepore
> Sent: Thursday, July 12, 2012 6:42 PM
> To: Wojciech Puchar
> Cc: freebsd-hackers at freebsd.org
> Subject: Re: /proc filesystem
>
> On Tue, 2012-06-19 at 06:47 +0200, Wojciech Puchar wrote:
> > that is what i need.
> >
> > but still need some explanation after using it and reading manual
> >
> > say:
> > PID START END PRT RES PRES REF SHD FL
> TP PATH
> > 1378 0x400000 0x5ac000 r-x 385 415 2 1 CN- vn /usr/local/bin/Xorg
> > 1378 0x7ab000 0x7bc000 rw- 17 0 1 0 C-- vn /usr/local/bin/Xorg
> > 1378 0x7bc000 0x800000 rw- 14 0 1 0 C-- df
> > 1378 0x8007ab000 0x8007c3000 r-x 24 0 32 0 CN- vn /libexec/ld-elf.so.1
> > 1378 0x8007c3000 0x8007f0000 rw- 43 0 1 0 C-- df
> > 1378 0x8007f0000 0x8007f2000 rw- 1 0 4 0 --- dv
> > 1378 0x8007f2000 0x8007f4000 rw- 2 0 4 0 --- dv
> > 1378 0x8007f4000 0x800874000 rw- 11 0 4 0 --- dv
> > 1378 0x800874000 0x800884000 rw- 16 0 4 0 --- dv
> > 1378 0x800884000 0x800895000 rw- 10 0 1 0 CN- df
> > 1378 0x8009c2000 0x8009c5000 rw- 3 0 1 0 C-- df
> >
> > 1) Xorg is mapped twice - IMHO first is text/rodata second is data. But
> > what "REF" really means here and why it is 2 once and 1 second.
> >
> > 2) what really PRES ("private resident") means? df (default) mappings are
> > IMHO anonymous maps==private data of process. so why RES is nonzero while
> > PRES is zero, while on shared code PRES is nonzero and large. what does it
> > really means?
> >
> > thanks.
> >
>
> I'm catching up on threads I was following before I went on vacation,
> and it looks like there was never a response to this. I'm interested in
> the answers to these questions too, so today I did some spelunking in
> the code to see what I could figure out. I don't think I really
> understand things too well, but I'll just say what I think I found and
> hopefully the experts will correct anything I get wrong.
>
> I think you're right about the first two mappings in that procstat
> output. The REF value is the reference count on the vm object (the
> vnode for the exe file, I presume). I think the reason the reference
> count is 2 is that one reference is the open file itself, and the other
> is the shadow object. I've always been a bit confused about the concept
> of shadow objects in freebsd's vm, but I think it's somehow related to
> the running processes that are based on that executable vnode. For
> example, if another copy of Xorg were running, I think REF would be 3,
> and SHD would be 2.
>
> I don't know why there is no shadow object for the writable data mapping
> and why the refcount is only 1 for that.
BSS that doesn't exist in the file?
...................................
Andrew Duane
Juniper Networks
+1 978-589-0551 (o)
+1 603-770-7088 (m)
aduane at juniper.net
More information about the freebsd-hackers
mailing list