Resource Requirements Analysis: Running a Murmur (Mumble) Server for 10 Concurrent Users on Ubuntu LTS


16 views

When deploying Murmur (Mumble server) on Ubuntu Server LTS, the baseline resource consumption for 10 concurrent users is remarkably lightweight. Here's a detailed breakdown:


# Sample systemd service file for Murmur
[Unit]
Description=Mumble Server (Murmur)
After=network.target

[Service]
User=mumble-server
Type=simple
ExecStart=/usr/sbin/murmurd -fg -ini /etc/mumble-server.ini
Restart=on-failure

[Install]
WantedBy=multi-user.target

For 10 users, Murmur typically consumes:

  • Base load: 0.5-1.5% of single CPU core
  • Per-user increase: ~0.1% per active speaker
  • Peak during codec changes: 3-5% spikes

# Monitoring CPU usage (example)
$ top -b -n 1 | grep murmurd
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
1234 mumble    20   0  145256  12384   7128 S   1.3  0.3   0:12.34 murmurd

RAM usage follows this pattern:

  • Initial allocation: 12-18MB
  • Per connected user: +0.5-1MB
  • Working set for 10 users: ~20-25MB

Bandwidth scales with audio quality settings:

Quality Per-user (up) Per-user (down) 10 users total
Low (8kbps) 3-5kbps 30-50kbps ~500kbps
Medium (40kbps) 15-20kbps 150-200kbps ~2Mbps
High (72kbps) 30-40kbps 300-400kbps ~4Mbps

Storage requirements are minimal:

  • Base installation: 15MB
  • Per-user database: ~10KB
  • Log files: ~1MB/day (default verbosity)

# Recommended fstab options for Murmur's data partition
/dev/sdb1  /var/lib/mumble-server  ext4  noatime,nodiratime,data=writeback  0  2

For best performance on limited hardware:

  1. Set appropriate bandwidth limits in mumble-server.ini
  2. Consider using Opus codec with 40kbps bitrate
  3. Disable positional audio if not needed
  4. Adjust logging verbosity

; Excerpt from mumble-server.ini
bandwidth=72000  ; Max bandwidth per user (72kbps)
users=10         ; Max users
textmessagelength=5000
allowping=true

For a standard Ubuntu Server LTS (22.04) running Murmur (Mumble server), here's the detailed resource breakdown:

# Sample monitoring command for Murmur
watch -n 1 "ps -C murmurd -o %cpu,%mem,cmd"

The minimal Ubuntu Server installation requires:

  • 512MB RAM (idle)
  • 1 vCPU core (idle)
  • 5GB disk space
Metric Per User 10 Users Measurement Method
CPU 0.5-1% 5-10% htop sampling
RAM 2-3MB 30MB (+ base 20MB) smem -t -k -P murmurd
Network 10-40kbps 100-400kbps iftop -i eth0 -f "port 64738"

This murmur.ini excerpt shows optimized settings:

[murmur]
bandwidth=72000       # 72kbps per user limit
users=10
messageburst=5
messagelimit=1
allowping=false

Use this Python script to simulate 10 clients:

import pymumble
from threading import Thread

def connect_user(i):
    mumble = pymumble.Mumble(
        "localhost", 
        f"TestUser{i}",
        password="",
        port=64738
    )
    mumble.start()
    mumble.is_ready()

for i in range(10):
    Thread(target=connect_user, args=(i,)).start()

For 10 users with:

  • SQLite database: ~5MB
  • Logs (30 days): ~20MB
  • Certificate storage: ~2MB