[cyrus] Fatal error: failed to mmap cache file

closeAchtung: dieser Blogeintrag wurde vor 3 Jahren, 2 Monaten und 30 Tagen veröffentlicht!
Beachtet das bitte dringend, vor allem im Falle konkreter Anleitungen.
Für etwaige Schäden kann keine Haftung übernommen werden!

Es ist zum Auswachsen: auf einem OpenExchange-Setup, das sich auf cyrus-imapd und postfix stützt und das lange, sehr lange einfach vor sich hin funktioniert hat, erscheinen plötzlich nachfolgende Meldungen im Log ;)

Nov 10 11:44:09 ox imap[26765]: login: localhost [127.0.0.1] spillerm plaintext User logged in
Nov 10 11:44:09 ox imap[26740]: accepted connection
Nov 10 11:44:09 ox imap[26740]: login: localhost [127.0.0.1] spillerm plaintext User logged in
Nov 10 11:44:09 ox imap[26740]: IOERROR: mapping cache file for user.spillerm: Cannot allocate memory
Nov 10 11:44:09 ox imap[26750]: accepted connection
Nov 10 11:44:09 ox master[26850]: about to exec /usr/lib/cyrus-imapd/imapd
Nov 10 11:44:09 ox imap[26740]: Fatal error: failed to mmap cache file
Nov 10 11:44:09 ox master[32168]: process 26740 exited, status 75
Nov 10 11:44:09 ox master[32168]: service imap pid 26740 in BUSY state: terminated abnormally
Nov 10 11:44:09 ox imap[26850]: executed

Also in erster Instanz herausfinden, wo cyrus seinen Kram ablegt (falls man das nicht ohnehin weiß):

# grep partition-default /etc/imapd.conf
partition-default: /var/spool/imap

Dann schauen wir uns mal an, wie groß das Cache-File des Users tatsächlich ist:

# cd /var/spool/imap/s/user/spillerm
# du -h cyrus.cache
2.1G	cyrus.cache

Okay, das ist zuviel — selbst in Mailboxen mit hunderten Mails erreicht das File nicht eine solche Größe (wenn alles so läuft wie es soll)… Wie also Abhilfe schaffen?

  • cyrus stoppen (/etc/init.d/cyrus-imapd stop oder Vergleichbares)
  • cyrus.cache dieses Users löschen (rm /var/spool/imap/s/user/spillerm/cyrus.cache
  • Mailbox des Users mit reconstruct beackern (reconstruct -rf user.spillerm oder, wenn das nicht tut, user/spillerm verwenden (wenn unixhierarchysep: yes in /etc/imapd.conf))
  • gucken, daß Files auch wirklich da sind
  • cyrus wieder starten (/etc/init.d/cyrus-imapd start oder Vergleichbares)

Hat den Fehler nachhaltig behoben :)

GD Star Rating
loading...


Diese Artikel könnten Dich ebenfalls interessieren:
Schlagwörter: , , ,