9th Gennaio 2008

Cyrus IMAP log and cache settings

Questo articolo serve a correggere un problema che si può verificare Cyrus IMAP, nel caso in cui utilizzi troppa memoria.

Nello specifico l’output che si legge in /var/log/maillog è il seguente:

DBERROR db4: Logging region out of memory; you may need to increase its size

All’inizio questo errore compare sporadicmanete, poi con il passare dei giorni aumenta, sino ad arrivare al blocco totale della macchina.

La soluzione a tutto questo è qumentare lo spazio destinato al logging del database Berkeley D, per fare questo dobbiamo aumentare la regione di cache di Cyrus (dare una letta eventualmente a Cyrus performance FAQ).

Creiamo il file DB_CONFIG nella cartella /var/lib/imap/db/ e all’interno mettiamo le seguenti righe:

# cat /var/lib/imap/db/DB_CONFIG
set_cachesize 0 2097152 1
set_lg_regionmax 1048576

In questo modo abbiamo settato la dimensione della cache a 2MBin un segmento (la documentazione relativa la potete trovare su Berkeley DB docs), e la regione di log a 1MB. Su sistemi fedora pare siano 648K e 96KB, rispettivamente.

Dopo aver messo il file al suo posto, fermate cyrus, lanciate il comando

db_recover -h /var/lib/imap/db

e avviate cyrus.

Ora per ottenere le statistiche e vedere che effettivamente tutto sia corretto eseguiamo i comandi

# db_stat -m -h /var/lib/imap/db

e

# db_stat -l -h /var/lib/imap/db

db_recover e dbstats fanno parte del pacchetto db4-utils.

posted in Matteo, cyrus, imap, linux, mail, posta | 0 Comments

  • Pubblicità

  • Statistiche

  • Adsense