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