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


5 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