Hosting·2 min read

Memory and process limits per hosting account (DirectAdmin)

How DirectAdmin enforces per-plan limits with systemd, what falls under those limits, and how much memory Claude Code uses.

On shared hosting your account shares a server with others. DirectAdmin therefore enforces memory and process limits per plan, through systemd slices per user, so one account can't slow down the rest. Measured on our servers (September 2026): a Claude Code session uses about 370 MB of memory, a Remote Control session about 350 MB, and an account with Claude plus a terminal peaked at around 1 GB. Our plans have 2 GB (Hosting Essential), 4 GB (Advanced) and 8 GB (Complete) of memory, so a single session fits everywhere, but several sessions or people on one account add up. Below: where those limits come from, what falls under them and what you see when you exceed them.

Where do the limits come from?

DirectAdmin (1.7x) sets limits on the account per plan:

Limit Meaning
MemoryHigh above this your account is throttled
MemoryMax above this processes are killed
TasksMax maximum number of processes at once
CPUQuota maximum CPU usage
IO limits read and write speed

Empty means unlimited. For server administrators: DirectAdmin sets these values as systemd drop-ins on the user's user-<uid>.slice.

What falls under them?

Everything that belongs to your account, in the same "bucket":

  • your terminal, over SSH or the DirectAdmin terminal,
  • Claude Code and the assistant,
  • cron jobs,
  • your websites' PHP processes (lsphp).

So a heavy build next to a busy website shares the same memory.

How much does Claude use?

Measured on our servers: a Claude Code session uses about 370 MB. An account with Claude plus a terminal peaked at around 1 GB. If several people work on the same account at once, that adds up.

How do you notice you're hitting a limit?

  • A command ends with Killed or exit code 137.
  • Your website gets slow during a build or import.
  • Claude reports that a process stopped unexpectedly.

Stop the heavy task and run things one at a time. Retrying in a loop doesn't help.

Tips

  • Build large projects (npm run build) elsewhere and only upload the built files.
  • Don't leave processes running in the background after a task.
  • Recurring tasks belong in DirectAdmin → Cron Jobs, not in an endless loop.
  • Large database imports: use mysql with a file, don't paste.
MK
Maarten Keizer

Founder of Invoker. Over twenty years in hosting, system administration and web development; builds the Claude hosting himself and tests everything on our own servers first.

about maarten