[Samba] samba AD DC eats memory

Andrew Bartlett
Tue, 25 Feb 2020 21:08:13 -0000

On Tue, 2020-02-25 at 18:56 +0300, Alex wrote:
> Hello Andrew,
>
> Thanks for getting back on this.
>
> > If you can't, then please use 'samba-tool processes' to
line up
> > pids
> > with names.
>
> [root at vm-dc3 var]# samba-tool processes
>  Service:                          PID
> --------------------------------------
> cldap_server                      1529
> dnssrv                            1555
> dnsupdate                         1553
> kccsrv                            1548
> kdc_server                        1533
> kdc_server(worker 3)              1552
> kdc_server(worker 0)              1540
> kdc_server(worker 1)              1544
> kdc_server(worker 2)              1549
> ldap_server                       1525
> ldap_server(worker 1)             1569
> ldap_server(worker 2)             1571
> ldap_server(worker 0)             1567
> ldap_server(worker 3)             1573
> nbt_server                        1517
> notify-daemon                     1563
> rpc_server                        1514
> rpc_server(worker 2)              1528
> rpc_server(worker 0)              1520
> rpc_server(worker 1)              1524
> rpc_server(worker 3)              1532
> samba                             1508
> winbind_server                    1547
>
> > Then, please run the smbcontrol not against 'all' (which
hasn't got
> > all
> > the processes, clearly only returned data from eight), but against
> > each
> > of the largest processes individually, and put them in distinct
> > files
> > for me?
>
> sorted by swap: https://paste.ee/p/w6TL5
>
> I tried to grab pool-usage for PIDs 1540, 1552 and 1555 and got "No
> replies
> received" for each of them.
>
> sorted by rss: https://paste.ee/p/Rjsgw
>
> pool-usage for the PID 1520 returns the same "no replies"
>
> Let me know if you need anything else.

It looks to me that the worst of the issue in the KDC.

You could run Samba under valgrind:

PYMALLOC=malloc valgrind --trace-children=yes bin/samba -i

You could also try giving that pool-usage longer to run with the --
timeout option to smbcontrol, as the default timeout is 10 seconds.

smbcontrol --timeout 60 ...

Andrew Bartlett

--
Andrew Bartlett
https://samba.org/~abartlet/
Authentication Developer, Samba Team         https://samba.org
Samba Development and Support, Catalyst IT - Expert Open Source
Solutions