On Wed, 26 Oct 2005, Jeremy Allison wrote:
We have a similar problem at one site using a Fox Pro database. The sizes
of the smbd processes continually increases until the server runs out of
swap (3.0.14). We've mitigated this a little by getting them to all log
off overnight and also restarting samba at 8am, but by mid-afternoon the
problem usually re-occurs. The processes get up to 200MB or so if left
unchecked. We've been running with "stat cache = no" for a while which has
made no difference. The DBF files being used by the database (it uses some
nasty file locking to spoof up a multi-user db) are up to around 90MB in
size.

I cannot be certain, but I believe this problem has only recently started
happening (perhaps with an upgrade from 3.0.10 to 3.0.14?).

Is there anything I can tweak?

As it's growing can you try doing

smbcontrol <pid> pool-usage

to get smbd to dump out it's talloc pools. Keep doing it,
if one of them grows this may be a clue.

First thing this morning:

Mon Oct 31 09:30:01 GMT 2005
global talloc allocations in pid: 29272
name                                       chunks    bytes
---------------------------------------- -------- --------
msg_pool_usage                                  1      159
connection_struct                               1     1844
connection_struct                               1     1844
passdb internal SAM_ACCOUNT allocation         19      484
passdb internal SAM_ACCOUNT allocation         19      500
connection_struct                               1     1844
connection_struct                               1     1844
connection_struct                               1     1844
passdb internal SAM_ACCOUNT allocation         19      489
pdb_context internal allocation context         5      446
passdb internal SAM_ACCOUNT allocation          8      397
---------------------------------------- -------- --------
TOTAL                                          76    11695

Here is the last one just before the machine ran out of swap (this process had around 116MB allocated, IIRC). None of these numbers are that big (and if the numbers are in bytes surely they are negligable). The thing that is changing over time is the number of "passdb internal SAM_ACCOUNT allocation" entries. This machine is running security=user with passdb backend=tdbsam.

global talloc allocations in pid: 29272
name                                       chunks    bytes
---------------------------------------- -------- --------
msg_pool_usage                                  1      159
connection_struct                               1     1844
passdb internal SAM_ACCOUNT allocation         19      484
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
Printer Entry [0xbfbff344]                      5      468
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
Printer Entry [0xbfbff344]                      5      468
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
passdb internal SAM_ACCOUNT allocation          1      344
Printer Entry [0xbfbff344]                      5      468
pipe spoolss 0x90ad000                          0        0
Printer Entry [0xbfbff344]                      5      468
print notify queue                              0        0
passdb internal SAM_ACCOUNT allocation          1      344
connection_struct                               1     1844
connection_struct                               1     1844
connection_struct                               1     1844
passdb internal SAM_ACCOUNT allocation         19      489
pdb_context internal allocation context         5      446
passdb internal SAM_ACCOUNT allocation          8      397
---------------------------------------- -------- --------
TOTAL                                         152    34331

--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

Reply via email to