Swap

From VoIPmonitor.org
Revision as of 22:53, 4 January 2026 by Admin (talk | contribs) (Improved formatting: added decision flowchart, swappiness values table, fixed syntax highlighting (ini/text vs bash), added sysctl -p command, restored full UUIDs in fstab example)

Category:Installation

Swap Configuration

Swap usage leads to performance degradation on VoIPmonitor servers. For realtime packet processing, we highly recommend configuring swap space properly or disabling it entirely.

Understanding Swappiness

Most Linux distributions default to using swap when RAM usage exceeds 40%. The swappiness value controls this behavior:

# Check current swappiness value
cat /proc/sys/vm/swappiness

A value of 60 means the system starts using swap when less than 60% of RAM is free. This is not optimal for realtime services like VoIPmonitor.

Swappiness Value Behavior
0 Use swap only when RAM is completely exhausted
5 Use swap only when critically low on RAM (recommended)
60 Default - start swapping at 40% free RAM (not recommended)
100 Aggressively use swap (not recommended for VoIPmonitor)

Configuring Swappiness

Temporary Change (Until Reboot)

# Set swappiness to 5 (use swap only when critically low on RAM)
echo '5' > /proc/sys/vm/swappiness

# Apply immediately by clearing swap
swapoff -a && swapon -a

Permanent Change

Add the following line to /etc/sysctl.conf:

vm.swappiness=5

Then apply without reboot:

sysctl -p

Clearing Swap

To move all data from swap back to RAM:

swapoff -a
swapon -a

Disabling Swap Completely

Step 1
Disable swap immediately:
swapoff -a
Step 2
Comment out swap entries in /etc/fstab:
proc            /proc           proc    defaults        0       0
UUID=17e56a9a-0f42-44ca-90e8-570315708def /               xfs     relatime        0       1

# Swap entries commented out:
#UUID=0a403f5e-0505-4055-a219-70217b6b74d1 none            swap    sw              0       0
#UUID=4cf42564-4339-42ed-b7ec-29644a3085f1 none            swap    sw              0       0
Step 3
Monitor for OOM issues:
# Check for out-of-memory events
dmesg -T | grep -i "out of memory\|killed process"

Checking VoIPmonitor Memory Configuration

Before tuning system-level swap settings, review VoIPmonitor's internal memory configuration. Excessive buffer settings can cause memory pressure and trigger swap usage.

# Check current memory-related settings
grep -E '^(max_buffer_mem|ringbuffer|packetbuffer)' /etc/voipmonitor.conf
Parameter Default Description
ringbuffer 50 MB Ringbuffer size per interface. Recommended >= 500 for >100 Mbit traffic. Max 2000.
max_buffer_mem 2000 MB Maximum buffer memory for packet buffers.
packetbuffer_enable yes Enable packet buffer cache.
packetbuffer_compress no Compress packet buffer (saves RAM, uses CPU).

If your sensor is swapping, reduce ringbuffer and max_buffer_mem unless capturing at very high traffic rates.

See Sniffer Configuration for complete memory and buffer documentation.

Checking Current Memory and Swap Usage

# Check memory and swap status
free -m

# Monitor memory usage over time
watch -n 1 free -m

# Check which processes use most memory
ps aux --sort=-%mem | head -10

See Also

AI Summary for RAG

Summary: Linux swap configuration for VoIPmonitor servers. Covers swappiness tuning (recommended value 5), disabling swap completely, and VoIPmonitor buffer memory settings (ringbuffer, max_buffer_mem) that affect swap usage.

Keywords: swap, swappiness, memory, RAM, performance, ringbuffer, max_buffer_mem, OOM, out of memory, packetbuffer

Key Questions:

  • How to configure swap for VoIPmonitor?
  • How to disable swap on Linux?
  • What is swappiness and how to configure it?
  • How to reduce VoIPmonitor memory usage?
  • What are ringbuffer and max_buffer_mem settings?