Re: [BENCHMARK] nproc: netlink access to /proc information

Roger Luethi
2004-08-28T20:16:46Z

On Sat, 28 Aug 2004 12:56:47 -0700, William Lee Irwin III wrote:
> These numbers are somewhat at variance with my experience in the area,
> as I see that the internal algorithms actually dominate the runtime
> of the /proc/ algorithms. Could you describe the processes used for the
> benchmarks, e.g. typical /proc/$PID/status and /proc/$PID/maps for them?

The status/maps numbers below are not only typical, but identical for
all tasks. I'm forking off a defined number of children and then query
their status from the parent.

Because I was interested in delivery overhead, I built on purpose a
benchmark without computationally expensive fields. Expensive field
computation hurts /proc more than nproc because the latter allows you
to have only the currently needed fields computed.

Roger

Name: nprocbench
State: T (stopped)
SleepAVG: 0%
Tgid: 6400
Pid: 6400
PPid: 2120
TracerPid: 0
Uid: 1000 1000 1000 1000
Gid: 100 100 100 100
FDSize: 32
Groups: 4 10 11 18 19 20 27 100 250
VmSize: 1336 kB
VmLck: 0 kB
VmRSS: 304 kB
VmData: 144 kB
VmStk: 16 kB
VmExe: 12 kB
VmLib: 1140 kB
Threads: 1
SigPnd: 0000000000000000
ShdPnd: 0000000000080000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 0000000000000000
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000

08048000-0804b000 r-xp 00000000 03:45 160990 /home/rl/nproc/nprocbench
0804b000-0804c000 rw-p 00002000 03:45 160990 /home/rl/nproc/nprocbench
0804c000-0806d000 rw-p 0804c000 00:00 0
40000000-40013000 r-xp 00000000 03:42 11356336 /lib/ld-2.3.3.so
40013000-40014000 rw-p 00012000 03:42 11356336 /lib/ld-2.3.3.so
40014000-40015000 rw-p 40014000 00:00 0
40032000-4013c000 r-xp 00000000 03:42 11356337 /lib/libc-2.3.3.so
4013c000-40140000 rw-p 00109000 03:42 11356337 /lib/libc-2.3.3.so
40140000-40142000 rw-p 40140000 00:00 0
bfffc000-c0000000 rw-p bfffc000 00:00 0
ffffe000-fffff000 ---p 00000000 00:00 0