BSD::Resource and getrusage(2)
Dave Rolsky
autarch at urth.org
Fri Jul 7 12:10:46 UTC 2006
On Fri, 7 Jul 2006, Philip M. Gollucci wrote:
> Hi, I'm trying do determine the units for one of the fields returned by getrusage(2)
>
> man page on 6.0-RELEASE-p5 says this:
> 2 maxrss maximum shared memory or current resident set
> 3 ixrss integral shared memory
>
> ru_ixrss
> an ``integral'' value indicating the amount of memory used
> by the text segment that was also shared among other pro-
> cesses. This value is expressed in units of
>
> kilobytes * ticks-of-execution.
>
> Ticks are statistics clock ticks.
> The statistics clock has a frequency of sysconf(_SC_CLK_TCK)
>
> which to me implies thats in kilobytes, but to the contrary, we have the following
Doesn't that imply that it's in kb per stat clock ticks?
>> ApacheSizeLimit on bsd systems uses BSD::Resource to get the memory and
>> shared-pages size.
>> sub bsd_size_check {
>> return (&BSD::Resource::getrusage())[2,3];
>> }
>
> I also have a local test based on the recent Apache::SizeLimit work from Dave Rolsky
> where
>
> maxrss > ixrss
> (Apache-Test output snipped)
> # '14124' maxrss
> # >
> # '52080' ixrss
>
> I tried looking in src/sys/kern/kern_resource.c but I didn't find anything that told me the units.
>
> My inkling is the documentation is WRONG.
If it's reported share memory as greater than total memory, then I think
the docs for BSD::Resource are correct. We need to divide that second
number (ixrss) by the value of the stat clock tick. Any idea how that can
be determined?
-dave
/*===================================================
VegGuide.Org www.BookIRead.com
Your guide to all that's veg. My book blog
===================================================*/
More information about the freebsd-questions
mailing list