Fixing the Persistent Postfix Error:

“process was started with ulimit -f limit” on Rocky Linux

If you’re running Postfix with Dovecot on Rocky Linux and keep seeing the error:

process was started with ulimit -f limit

even after adjusting system limits, you’re not alone. This issue is surprisingly persistent and often misunderstood. The root cause is usually not Dovecot itself—but how Postfix starts the Local Delivery Agent (LDA) and which limits actually apply at that moment.

Let’s break it down properly.


Why This Error Is So Stubborn

On systemd-based distributions like Rocky Linux, it’s common to raise file size limits using:

  • /etc/security/limits.conf
  • systemd service overrides (LimitFSIZE=infinity)
  • ulimit in shell sessions

However, Postfix does not inherit these limits the way you might expect.

The Key Detail

Postfix often spawns the Dovecot LDA itself.
That means:

  • The limits defined in dovecot.service do not apply
  • The limits are inherited from Postfix
  • Postfix applies its own internal size restrictions

So even if Dovecot is perfectly configured, the LDA may still start with a restricted ulimit -f.


The Real Fix: Postfix’s mailbox_size_limit

Postfix enforces a security limit on how large a mailbox file can grow when delivering mail to external processes like the Dovecot LDA.

Check the Current Value

postconf | grep mailbox_size_limit

On many systems, this defaults to ~50 MB, which is more than enough to trigger the error during delivery.

Set It to Unlimited

To fully remove the restriction:

sudo postconf -e "mailbox_size_limit = 0"
sudo systemctl restart postfix

Setting the value to 0 means no limit.

This ensures Postfix does not impose a file size limit when starting the LDA—and the error disappears for good.


Why This Works

  • The LDA inherits limits from Postfix, not from systemd
  • mailbox_size_limit is enforced before delivery starts
  • Even with correct ulimit and systemd settings, Postfix can still block large writes
  • Removing this limit aligns Postfix’s behavior with your system-wide configuration

Résumé / Takeaway

The error “process was started with ulimit -f limit” is not just a Dovecot problem—it’s a Postfix delivery constraint in disguise.

Key lessons:

  • Systemd limits don’t always propagate the way you expect
  • Postfix applies its own security limits when spawning the LDA
  • mailbox_size_limit is the critical (and often overlooked) setting
  • Setting it to 0 resolves the issue cleanly and permanently

If you’re running Postfix + Dovecot on Rocky Linux and hitting mysterious delivery failures, check Postfix first—not Dovecot.

Sometimes the fix is just one line away.

Views: 4

Fixing the postfix index file creation error (file too large [process was started with ulimit -f limit)

Johannes Rest


.NET Architekt und Entwickler


Beitragsnavigation


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert