BSD 8.1 and 9.1 memory increase
Gumpula, Suresh
Suresh.Gumpula at netapp.com
Wed Apr 1 01:15:10 UTC 2015
Still trying to find out the reason for more memory foot print on 9.1
compared to 8.1 .
Does some thing like clustering changes in page fault handling cause
memory foot print ?
https://svnweb.freebsd.org/base?view=revision&revision=235876
Copying Alan Cox , if could throw some inputs on this.
Thank you
Suresh
On 3/17/15, 2:09 PM, "Gumpula, Suresh" <Suresh.Gumpula at netapp.com> wrote:
>On similar notes , when I looked at procstat -v , it does not show us
>the shared libraries resident usage .
>I have added a column to display the shared resident count.
>
>kern_proc.c:
> if (obj->shadow_count > 1)
> kve->kve_shared_resident =
> obj->resident_page_count;
>
>procstat_vm.c :
>
> if (kve->kve_private_resident || kve->kve_shared_resident)
> entry_total =(kve->kve_private_resident +
>kve->kve_shared_resident);
> else
> entry_total = kve->kve_resident;
>
> proc_total += entry_total;
> shared_total += kve->kve_shared_resident;
> private_total += kve->kve_private_resident;
> mapped_total += kve->kve_resident;
>
> printf("%8d ", kve->kve_shared_resident);
> printf("%8d ", entry_total);
>
>
>
>
>
>% sudo procstat -v `pgrep bash`
> PID START END PRT RES PRES
>SHRD TOTAL REF SHD FL TP PATH
> 3485 0x400000 0x4b0000 r-x 128 151
>0 151 2 1 CN-- vn /usr/bin/bash
> 3485 0x6b0000 0x6b9000 rw- 9 0
>0 9 1 0 C--- vn /usr/bin/bash
> 3485 0x6b9000 0x800000 rw- 5 0
>0 5 1 0 C--- df
> 3485 0x8006b0000 0x8006c9000 r-x 25 0
>0 25 38 0 CN-- vn /libexec/ld-elf.so.1
> 3485 0x8006c9000 0x8006ef000 rw- 26 0
>0 26 1 0 CN-- df
> 3485 0x8008c8000 0x8008ca000 rw- 2 0
>0 2 1 0 CN-- df
> 3485 0x8008ca000 0x800914000 r-x 40 0
>79 79 6 3 CN-- vn /lib/libncurses.so.8
> 3485 0x800914000 0x800b14000 --- 0 0
>0 0 1 0 CN-- df
> 3485 0x800b14000 0x800b19000 rw- 5 0
>0 5 1 0 CN-- vn /lib/libncurses.so.8
> 3485 0x800b19000 0x800c71000 r-x 318 0
>331 331 75 37 CN-- vn /lib/libc.so.7
> 3485 0x800c71000 0x800e71000 --- 0 0
>0 0 1 0 CN-- df
> 3485 0x800e71000 0x800e7c000 rw- 11 0
>0 11 1 0 CN-- vn /lib/libc.so.7
> 3485 0x800e7c000 0x800ee2000 rw- 9 0
>0 9 1 0 CN-- df
> 3485 0x801000000 0x801200000 rw- 35 0
>0 35 1 0 C--- df
> 3485 0x7ffffffdf000 0x7ffffffff000 rw- 5 0
>0 5 1 0 C--D df
> 3485 0x7ffffffff000 0x800000000000 r-x 1 0
>0 1 40 0 CN-- ph
> Totals(pages) 619 151
>410 694
>
>
>Can somebody pick up this change if it looks good ?
>
>Thanks
>Suresh
>
>
>From: <Gumpula>, suresh gumpula
><suresh.gumpula at netapp.com<mailto:suresh.gumpula at netapp.com>>
>Date: Tuesday, March 17, 2015 at 2:08 PM
>To: "freebsd-hackers at freebsd.org<mailto:freebsd-hackers at freebsd.org>"
><freebsd-hackers at freebsd.org<mailto:freebsd-hackers at freebsd.org>>
>Subject: BSD 8.1 and 9.1 memory increase
>
>Hello VM experts,
> I am trying to figure out what has been changed from 8.1 to 9.1 which
>results more memory footprint on all processes. looking at one of the big
>processes we have on a idle machine,
>its about 35M resident size increase. Looking at map entries by procstat
>-v shows me that two libraries , one is our internal library(libmgwd) and
>other one is boost consume more now.
>There are no changes made with respect to process, just comparing after
>the upgrade to 9.1.
>
>Are here any knows things with respect VM have been changed and could
>result in more resident memory ? Can somebody please help on this to know
>what exactly causing this behaviour ?
>Details below.
>
>Thank you!
>
>
>8.1
>‹
>% sudo procstat -v `pgrep mgwd`
> PID START END PRT RES PRES REF SHD FL TP
>PATH
>
> 2213 0x800a46000 0x807b41000 r-x 18209 22827 2 1 CN vn
>/usr/lib/libmgwd.so.1
> 2213 0x807d40000 0x808a90000 rw- 3019 0 1 0 C- vn
>/usr/lib/libmgwd.so.1
>
>
> 2213 0x833406000 0x833407000 rw- 1 0 1 0 CN vn
>/usr/lib/libboost_atomic.so.1.56.0
> 2213 0x833600000 0x835600000 rw- 8134 0 1 0 C- df
> 2213 0x835600000 0x835800000 rw- 20 0 1 0 -- df
> 2213 0x7ffff6f99000 0x7ffff6fb9000 rw- 1 0 1 0 -- df
> 2213 0x7ffff719a000 0x7ffff71ba000 rw- 1 0 1 0 -- df
> 2213 0x7ffff739b000 0x7ffff73bb000 rw- 12 0 1 0 -- df
>
>
>9.1
>‹‹
>% sudo procstat -v `pgrep mgwd`
> PID START END PRT RES PRES REF SHD FL TP
>PATH
>
> 2158 0x800a1c000 0x807c87000 r-x 23328 26760 2 1 CN--
>vn /usr/lib/libmgwd.so.1
> 2158 0x807e87000 0x808bd4000 rw- 3283 0 1 0 C---
>vn /usr/lib/libmgwd.so.1
>
> 2158 0x8336d7000 0x8336d8000 rw- 1 0 1 0 CN-- vn
>/usr/lib/libboost_atomic.so.1.56.0
> 2158 0x8336d8000 0x8342cf000 rw- 2105 0 1 0 C-S- df
> 2158 0x8342cf000 0x8342ea000 rw- 27 0 1 0 C--- df
> 2158 0x8342ea000 0x8342f3000 rw- 7 0 1 0 ---- df
> 2158 0x834400000 0x834600000 rw- 511 0 1 0 C--- df
> 2158 0x834600000 0x836400000 rw- 7375 0 1 0 C--- df
> 2158 0x836400000 0x836600000 rw- 228 0 1 0 ---- df
>
>BSD 8.1
>======
>last pid: 5116; load averages: 5.22, 4.29, 2.34 up 0+00:10:15
>17:34:00
>352 processes: 1 running, 350 sleeping, 1 zombie
>CPU: 0.2% user, 0.0% nice, 4.5% system, 1.7% interrupt, 93.5% idle
>Mem: 297M Active, 648M Inact, 139M Wired, 6948K Cache, 7520K Buf, 1862M
>Free
>Swap: 1536M Total, 1536M Free
> PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU
>COMMAND
> 2219 root 68 96 0 859M 226M ucond 1 0:24 0.00% mgwd
>
>BSD 9.1
>‹‹‹
>last pid: 5344; load averages: 5.17, 4.47, 2.79 up 0+00:26:12
>17:22:57
>39 processes: 1 running, 37 sleeping, 1 zombie
>CPU: 0.2% user, 0.0% nice, 2.2% system, 0.6% interrupt, 97.0% idle
>Mem: 338M Active, 669M Inact, 147M Wired, 392K Cache, 7488K Buf, 1799M
>Free
>Swap: 1536M Total, 1536M Fre
> PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU
>COMMAND
> 2158 root 68 40 0 874M 262M uwait 1 0:23 0.00% mgwd
>
>========
>
>% ldd /usr/lib/libmgwd.so.1
>/usr/lib/libmgwd.so.1:
>% ldd /usr/lib/libboost_atomic.so.1.56.0
>/usr/lib/libboost_atomic.so.1.56.0:
> librt.so.1 => /usr/lib/librt.so.1 (0x801002000)
> libthr.so.3 => /lib/libthr.so.3 (0x801207000)
>
>
>;;image size comparison on different builds shows TEXT size of a libray
>went up by ~1.5M
>
> text data bss dec hex filename
>118484184 139568805724944 13816600883c3ef8
>devN_150110_0500/mgmtgateway/bedrock/internal/x86_64/ulibso/libmgwd.so.1
>119973051 139460085724944 139644003852cc63
>devN_150110_1035/mgmtgateway/bedrock/internal/x86_64/ulibso/libmgwd.so.1
>
>BSD 9.1
>‹‹
>% size /sbin/mgwd
> text data bss dec hex filename
>2106422 42388 371584 2520394 26754a /sbin/mgwd
>% size /usr/lib/libboost_atomic.so.1.56.0
> text data bss dec hex filename
> 1309 264 2624 4197 1065 /usr/lib/libboost_atomic.so.1.56.0
>
>BSd 8.1
>‹‹‹
>% size /sbin/mgwd
> text data bss dec hex filename
>2091457 42364 371520 2505341 263a7d /sbin/mgwd
>% size /usr/lib/libboost_atomic.so.1.56.0
> text data bss dec hex filename
> 1309 264 2624 4197 1065 /usr/lib/libboost_atomic.so.1.56.0
>
>Thanks
>Suresh
>
>_______________________________________________
>freebsd-hackers at freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
More information about the freebsd-hackers
mailing list