$ 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. > -- 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