Blog
4GB Showing as 3.8GB? Quick Fix for Missing Server Memory

🚀 Why Your Cloud Server Shows Less RAM Than Advertised (e.g., 4GB → 3.8GB)
⚡️ The Culprit: kdump
Service
-
Purpose: Captures kernel crash dumps for debugging critical failures.
-
Memory Cost: Reserves RAM at boot time (typically 128-256MB), reducing available system memory.
-
Not a Scam: All reputable cloud providers (AWS/Azure/GCP) deliver full physical RAM—this is a Linux safety feature.
🔍 Check & Measure kdump Usage
1. Confirm if kdump is Enabled:
cat /proc/cmdline | grep crashkernel # Output means enabled
2. View Reserved Memory Size:
grep -i "Crash kernel" /proc/iomem
Sample Output:
54000000-5bffffff : Crash kernel # Reserves 128MB (0x54000000-0x5bffffff = 128MB)
3. Check Service Status:
systemctl status kdump.service # Active (running) = enabled
📊 How Linux Distros Handle kdump
Distro | Default kdump | Memory Reserved |
---|---|---|
RHEL/CentOS | ✅ Enabled | 128-256MB |
Ubuntu | ❌ Disabled | 0MB |
Debian | ❌ Disabled | 0MB |
AlmaLinux | ✅ Enabled | 128-256MB |
⚠️ Cloud Provider Variations: Some modify images (e.g., AWS Ubuntu may enable it).
⚙️ How to Disable kdump (Free Up RAM)
Step-by-Step:
# 1. Edit GRUB config sudo nano /etc/default/grub # 2. Add crashkernel=0M to GRUB_CMDLINE_LINUX GRUB_CMDLINE_LINUX="... crashkernel=0M" # 3. Rebuild GRUB sudo grub2-mkconfig -o /boot/grub2/grub.cfg # RHEL/CentOS sudo update-grub # Ubuntu/Debian # 4. Reboot & verify sudo reboot cat /proc/cmdline | grep crashkernel # No output = disabled
⚖️ Should You Disable kdump?
✅ Disable If | ❌ Keep Enabled If |
---|---|
RAM is extremely tight (e.g., <1GB) | Running critical production workloads |
Debugging kernel crashes is irrelevant | Stability is a top priority |
Server runs low-risk applications | You lack monitoring alternatives |
💡 Middle Ground: Reduce reserved memory (e.g.,
crashkernel=64M
).
🌩️ Cloud Provider Notes
-
AWS: Uses
kdump
by default in RHEL/CentOS AMIs. -
Azure: May enable it for premium support diagnostics.
-
Always Test: After disabling, simulate a kernel panic:
echo c | sudo tee /proc/sysrq-trigger # !!! WARNING: Crashes system !!!
📈 Reclaiming Memory Without Disabling kdump
Optimize existing usage:
# Clean cached memory (safe) sudo sysctl vm.drop_caches=3 # Uninstall unused services sudo yum remove telnet httpd -y # RHEL/CentOS sudo apt purge apache2 -y # Ubuntu/Debian
💎 Final Advice
For most cloud servers, keep
kdump
enabled. The ~128MB trade-off is cheap insurance against unpredictable crashes. Only disable in low-RAM dev/test environments where rapid debugging isn’t needed.
Verified on: RHEL 9, Ubuntu 22.04, AWS EC2 (t3.large), Azure D2s_v3.
Questions? → Ask our community 💬