Re: 102 megabyte dbm file?

Página superior
Eliminar este mensaje
Responder a este mensaje
Autor: Chris Thompson
Fecha:  
A: Dean Brooks
Cc: exim-users
Asunto: Re: 102 megabyte dbm file?
Dean Brooks writes:
>
>    We run Exim on a few of our Solaris 2.4/2.5.1 on Sparc, and 
> I noticed that on all of them, the file "wait-remote_smtp.pag" is
> over 120 megabytes in size.

>
>    Now, we move about 1500 messages an hour or so, but I wouldn't
> expect the database to be _that_ large.

>
>    Is this an exim controllable size or is it just dbm being ineffecient?


I think you will find it is a pretty sparse file. On one of our systems
I currently see:

  ursa.cus.cam.ac.uk$ ls -alis /var/spool/exim/db
  total 1746
  115341    2 drwxr-x---   2 cusexim  cusexim      512 Apr  7 01:47 .
  109903    2 drwxr-x---   6 cusexim  cusexim      512 Mar 11 09:37 ..
  115345    8 -rw-r-----   1 cusexim  cusexim     4096 Mar  8 06:16 reject.dir
  115344  126 -rw-r-----   1 cusexim  cusexim    64512 Apr  8 17:28 reject.pag
  115347    8 -rw-r-----   1 cusexim  cusexim     4096 Apr  3 20:22 retry.dir
  115346  912 -rw-r-----   1 cusexim  cusexim   976896 Apr  8 17:35 retry.pag
  115343   32 -rw-r-----   1 cusexim  cusexim    16384 Apr  8 17:15 wait-smtp.dir
  115342  656 -rw-r-----   1 cusexim  cusexim  102752256 Apr  8 17:15 wait-smtp.pag


That last file is 328 Kb used out of 100344 Kb nominal length, or 0.32 %.
Also I know I removed the wait-smtp files on this system last week and let
them rebuild, because I was interested to see whether the large nominal
size (only about 1600 Kb at that time!) would repeat itself.

There does seem to be something peculiar about the keys or records that Exim
uses in its wait-* hint files that causes ndbm to go a trifle mad.

There is another aspect to these files: if you run "tidydb -f" on them you
will often find a lot of entries for long-ago-delivered messages. When an SMTP
delivery is deferred, the msgid is registered in having an interest in all
the hosts it might be delivered to. These don't get cleaned out automatically
when the message finally does (or doesn't) get delivered, although they are
removed if noticed while a delivery process is trying to find another extant
message it might deliver to a host it has a working SMTP connection to.

Chris Thompson               Cambridge University Computing Service,
Email: cet1@???    New Museums Site, Cambridge CB2 3QG,
Phone: +44 1223 334715       United Kingdom.