読者です 読者をやめる 読者になる 読者になる

Courier-IMAPで「Fatal Error: Cannot allocate memory」というエラーが出てメールを受信できなくなったら・・

プランにもよると思うがGMOクラウドVPSで使われているIMAPサーバは「Courier-IMAP」である。特定のアカウントをヘビーに使っていると「Fatal Error: Cannot allocate memory」というエラーがでてメールが受信できなくなるとな・・。

ここまでくるとメーラーソフトからはどうにも出来なくなるそうな。FTPからだと溜まったメールファイルが多すぎてフォルダに入ってもずっとグリグリしてFTPソフトがフリーズしてうんともすんともしなくなる。

となるとteratermSSHログインでコマンド打つしかないよねと。メールファイルがある場所は「/var/qmail/mailnames/(ドメイン名)/(アカウント名)/Maildir/cur」です。ドメインごと、アカウントごとにディレクトリ分けされています。そこに「cd /var/qmail/mailnames/(ドメイン名)/(アカウント名)/Maildir/cur」みたいな感じで入って、curディレクトリ内でlsコマンドをしてもファイルが大量過ぎてteratermでもおっつかない・・。まぁ全削除すれば解消すると思いますが、仕事とかですと20xx年より前のメールを全部削除して、みたいなことになる。

あとはここら辺を参考に削除する。

jehupc.exblog.jp

事前にバックアップもとっておいた方がよい。cpコマンドでバックアップを取るとファイルの更新日時が現在になるので、私は圧縮コマンドを使いました。これが正解がどうかは分からないけどね・・。

tar cfvz cur_backup.tar.gz cur
みたいな感じ

「/etc/courier-imap/imapd」の「IMAP_ULIMITD=65536」の数値を上げるといいんじゃね?みたいな言及もありますが、これは試していません。

gmailでいいのかなぁ。