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:
- Set appropriate bandwidth limits in mumble-server.ini
- Consider using Opus codec with 40kbps bitrate
- Disable positional audio if not needed
- 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