I don’t see jemalloc anywhere in your setup scripts. Preferably use the latest 
upstream jemalloc version available.

Ondřej 
--
Ondřej Surý — ISC (He/Him)

My working hours and your working hours may be different. Please do not feel 
obligated to reply outside your normal working hours.

> On 2. 8. 2022, at 17:14, Dmitri Pavlov <dpav...@perforce.com> wrote:
> 
> Hi,
> 
> Thank you very much for your feedback, Ondrej.
> 
> Sharing the steps. Very simple: configure -> make -> make install. Very 
> simple configuration. Just the zone file is big.  Please, see the attached.
> 
> 1. I followed the instructions from here 
> https://bind9.readthedocs.io/en/v9_18_4/chapter10.html
> No git.
> 
> 2. Rocky 9
> uname -a
> Linux server.test.zone 5.14.0-70.17.1.el9_0.x86_64 #1 SMP PREEMPT Wed Jul 13 
> 18:23:04 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
> Package gcc-11.2.1-9.4.el9.x86_64
> 
> 9.18.5
> ============= OUTPUT =============
> pmap -x 27821 | tail -n 1
> total kB         34853832 29425312 29416180
> 
> smemstat -p named
>    PID      Swap       USS       PSS       RSS User       Command
>  27821     0.0 B    28.1 G    28.1 G    28.1 G root       
> /usr/local/sbin/named
> Total:      0.0 B    28.1 G    28.1 G    28.1
> ============= ============= =============
> 
> 9.16.21
> ============= OUTPUT =============
> pmap -x 18026 | tail -n 1
> total kB         28161152 27414164 27406208
> 
> smemstat -p named
>    PID      Swap       USS       PSS       RSS User       Command
>  18026     0.0 B    26.1 G    26.1 G    26.1 G root       
> /usr/local/sbin/named
> Total:      0.0 B    26.1 G    26.1 G    26.1 G
> ============= ============= =============
> 
> 2 GB diff is still there.
> 
> Steps have been attached.
> 
> Will be very grateful,  could you please, have a look at the steps provided? 
> They are quite straightforward and self-explanatory. What is that "magic 
> souse" I should apply, when there is Rocky 9 or RHEL 9 machine in front of 
> me.  I believe if I replicate your setup/steps, most likely I'll get the same 
> output. However, if looking at the articles available to the wide audience 
> (like this https://bind9.readthedocs.io/en/v9_18_4/chapter10.html or any 
> other(?)), what should my steps be to get the expected smaller memory 
> footprint.  Or maybe there are obvious flaws in the experiment?
> 
> Thanking you very much for patience and cooperation,
> Dmitri.
> 
> 
> 
> 
> -----Original Message-----
> From: Ondřej Surý <ond...@isc.org>
> Sent: Monday, August 1, 2022 8:18 PM
> To: Dmitri Pavlov <dpav...@perforce.com>
> Cc: bind-users@lists.isc.org
> Subject: Re: High memory consumption in bind 9.18.2
> 
> $ wc -l gen.db
> 100000000 gen.db
> 
> generated with:
> 
> #!/bin/env python3
> 
> for x in range(0, 10000):
>    for y in range(0, 2500):
>        print(f"az{x}-{y} IN A 10.53.0.1")
>        print(f"bz{x}-{y} IN A 10.53.0.2")
>        print(f"ca{x}-{y} IN A 10.53.0.3")
>        print(f"xh{x}-{y} IN CNAME az{x}-{y}”)
> 
> ## BIND 9.16(git)
> 
> 01-Aug-2022 19:06:27.151 starting BIND 9.16.32-dev (Extended Support Version) 
> <id:c863061a13>
> 01-Aug-2022 19:06:27.151 running on Linux x86_64 5.10.0-16-amd64 #1 SMP 
> Debian 5.10.127-1 (2022-06-30)
> 01-Aug-2022 19:06:27.151 built with 'CC=gcc-12' 'LD=' 'CFLAGS=-Ofast -ggdb 
> -Wno-deprecated-declarations -fno-omit-frame-pointer 
> -fno-optimize-sibling-calls -DISC_MEM_USE_INTERNAL_MALLOC=0 
> -DISC_MEM_TRACKLINES=1' 'LDFLAGS=' '--enable-developer' '--enable-warn-error' 
> '--with-openssl' '--with-zlib' '--with-libxml2' '--with-json-c' 
> '--with-readline' '--with-libidn2' '--enable-dnstap' '--with-libtool' 
> '--without-make-clean' 'PKG_CONFIG_PATH=/home/ondrej/.local/lib/pkgconfig:'
> 01-Aug-2022 19:06:27.151 running as: named -c named.conf -g -p 12345
> 01-Aug-2022 19:06:27.151 compiled by GCC 12.0.1 20220319 (experimental) 
> [master r12-7719-g8ca61ad148f]
> 01-Aug-2022 19:06:27.151 compiled with OpenSSL version: OpenSSL 3.0.5 5 Jul 
> 2022
> 01-Aug-2022 19:06:27.151 linked to OpenSSL version: OpenSSL 3.0.5 5 Jul 2022
> 01-Aug-2022 19:06:27.151 compiled with libxml2 version: 2.9.10
> 01-Aug-2022 19:06:27.151 linked to libxml2 version: 20910
> 01-Aug-2022 19:06:27.151 compiled with json-c version: 0.15
> 01-Aug-2022 19:06:27.151 linked to json-c version: 0.15
> 01-Aug-2022 19:06:27.151 compiled with zlib version: 1.2.11
> 01-Aug-2022 19:06:27.151 linked to zlib version: 1.2.11
> 
> $ smem -P name[d] -a
> SWAP:193304 USS:30451812 PSS:30452272 RSS:30454872
> 
> ## BIND 9.18(git)
> 
> 01-Aug-2022 18:12:57.227 starting BIND 9.18.6-dev (Stable Release) 
> <id:097a57e>
> 01-Aug-2022 18:12:57.227 running on Linux x86_64 5.10.0-16-amd64 #1 SMP 
> Debian 5.10.127-1 (2022-06-30)
> 01-Aug-2022 18:12:57.227 built with  'CC=gcc-12' 'LD=' 'CFLAGS=-Ofast  -ggdb 
> -Wno-deprecated-declarations -fno-omit-frame-pointer 
> -fno-optimize-sibling-calls -DISC_MEM_USE_INTERNAL_MALLOC=0 
> -DISC_MEM_TRACKLINES=1' 'LDFLAGS=' '--enable-developer' '--enable-warn-error' 
> '--with-openssl' '--with-zlib' '--with-libxml2' '--with-json-c' 
> '--with-readline' '--with-libidn2' '--enable-dnstap' '--with-libtool' 
> '--without-make-clean' 'PKG_CONFIG_PATH=/home/ondrej/.local/lib/pkgconfig:'
> 01-Aug-2022 18:12:57.227 running as: named -c named.conf -g -p 12345
> 01-Aug-2022 18:12:57.227 compiled by GCC 12.0.1 20220319 (experimental) 
> [master r12-7719-g8ca61ad148f]
> 01-Aug-2022 18:12:57.227 compiled with OpenSSL version: OpenSSL 3.0.5 5 Jul 
> 2022
> 01-Aug-2022 18:12:57.227 linked to OpenSSL version: OpenSSL 3.0.5 5 Jul 2022
> 01-Aug-2022 18:12:57.227 compiled with libxml2 version: 2.9.10
> 01-Aug-2022 18:12:57.227 linked to libxml2 version: 20910
> 01-Aug-2022 18:12:57.227 compiled with json-c version: 0.15
> 01-Aug-2022 18:12:57.227 linked to json-c version: 0.15
> 01-Aug-2022 18:12:57.227 compiled with zlib version: 1.2.11
> 01-Aug-2022 18:12:57.227 linked to zlib version: 1.2.11
> 
> $ smem -P name[d] -a
> SWAP:645960 USS:29446788 PSS:29447529 RSS:29451056
> 
> ## BIND 9.19(git)
> 
> 01-Aug-2022 18:18:20.127 starting BIND 9.19.4-dev (Development Release) 
> <id:fa1f35b>
> 01-Aug-2022 18:18:20.127 running on Linux x86_64 5.10.0-16-amd64 #1 SMP 
> Debian 5.10.127-1 (2022-06-30)
> 01-Aug-2022 18:18:20.127 built with  'CC=gcc-12' 'LD=' 'CFLAGS=-Ofast  -ggdb 
> -Wno-deprecated-declarations -fno-omit-frame-pointer 
> -fno-optimize-sibling-calls -DISC_MEM_USE_INTERNAL_MALLOC=0 
> -DISC_MEM_TRACKLINES=1' 'LDFLAGS=' '--enable-developer' '--enable-warn-error' 
> '--with-openssl' '--with-zlib' '--with-libxml2' '--with-json-c' 
> '--with-readline' '--with-libidn2' '--enable-dnstap' '--with-libtool' 
> '--without-make-clean' 'PKG_CONFIG_PATH=/home/ondrej/.local/lib/pkgconfig:'
> 01-Aug-2022 18:18:20.127 running as: named -c named.conf -g -p 12345
> 01-Aug-2022 18:18:20.127 compiled by GCC 12.0.1 20220319 (experimental) 
> [master r12-7719-g8ca61ad148f]
> 01-Aug-2022 18:18:20.127 compiled with OpenSSL version: OpenSSL 3.0.5 5 Jul 
> 2022
> 01-Aug-2022 18:18:20.127 linked to OpenSSL version: OpenSSL 3.0.5 5 Jul 2022
> 01-Aug-2022 18:18:20.127 compiled with libxml2 version: 2.9.10
> 01-Aug-2022 18:18:20.127 linked to libxml2 version: 20910
> 01-Aug-2022 18:18:20.127 compiled with json-c version: 0.15
> 01-Aug-2022 18:18:20.127 linked to json-c version: 0.15
> 01-Aug-2022 18:18:20.127 compiled with zlib version: 1.2.11
> 01-Aug-2022 18:18:20.127 linked to zlib version: 1.2.11
> 
> $ smem -P name[d] -a
> SWAP:1032108 USS:29062164 PSS:29062968 RSS:29066580
> 
> So, it’s (USS+Swap):
> 9.16(git): 30645116
> 9.18(git): 30092748
> 9.19(git): 30094272
> 
> So, no, I am unable to reproduce the results and yet again, I see a lower 
> memory usage with 9.18+.
> 
> But I see a common pattern here. I think both you and the OP were using 
> CentOS/RHEL 7 which is using GCC 4.8.
> 
> GCC was improved significantly since then. I would suggest to repeat the 
> experiment on RHEL 9 if you can reproduce the same results.
> 
> Ondrej
> --
> Ondřej Surý (He/Him)
> ond...@isc.org
> 
> My working hours and your working hours may be different. Please do not feel 
> obligated to reply outside your normal working hours.
> 
>>> On 1. 8. 2022, at 17:46, Ondřej Surý <ond...@isc.org> wrote:
>>> 
>>>> On 1. 8. 2022, at 17:19, Dmitri Pavlov <dpav...@perforce.com> wrote:
>>> 
>>> I’m pretty much sure you will get the same results in your lab.
>> 
>> I don’t want to delve into vague description of your experiment.
>> You’ll have to share the exact scripts.
>> 
>> Even this:
>> 
>>> just the time-consuming task is to generate 100 MIL A + CNAME dummy records 
>>> into the zone file.
>> 
>> could be violently different. Are those random names? Or
>> deterministically generated? What are the CNAME targets?
>> 
>> What is the exact `named.conf`?
>> 
>> What are the exact library versions? What is the exact ./configure 
>> invocation?
>> 
>> How do you execute `named`?
>> 
>> And yet again - the memory statistics from the statschannel could show
>> the breakdown of the internal memory contexts and also show if there’s
>> a difference between the internally reported memory usage and
>> externally reported memory usage, e.g. is this something allocated in named, 
>> or is this allocated in the libraries?
>> 
>>> Should the memory reduction apply to our experiment?
>> 
>> The question doesn’t really make sense.  We have not measured any
>> increase in our test scenarios, which doesn’t mean you can’t find different 
>> scenarios with a memory increase.
>> 
>> Ondrej
>> --
>> Ondřej Surý (He/Him)
>> ond...@isc.org
>> 
>> My working hours and your working hours may be different. Please do not feel 
>> obligated to reply outside your normal working hours.
>> 
> 
> 
> 
> CAUTION: This email originated from outside of the organization. Do not click 
> on links or open attachments unless you recognize the sender and know the 
> content is safe.
> 
> This e-mail may contain information that is privileged or confidential. If 
> you are not the intended recipient, please delete the e-mail and any 
> attachments and notify us immediately.
> 

<<attachment: STEPS.zip>>

-- 
Visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from 
this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to