DEV Community

Mumtaz Jahan
Mumtaz Jahan

Posted on

How I Fixed Jenkins Built-In Node Offline Issue on EC2

Problem: Jenkins Built-In Node Showing Offline on EC2

If you have ever set up Jenkins on an AWS EC2 instance and seen your Built-In Node showing offline with builds not running — this post is for you!

Here is exactly what happened, why it happened, and how I fixed it step by step.


Understanding the Warning

When I clicked on the Built-In Node I saw this error:

Disk space is below threshold of 1.00 GiB. Only 951.90 MiB out of 956.65 MiB left on /tmp.

Jenkins monitors your server's system resources constantly. It requires:

Resource Minimum Required
Free Disk Space ≥ 1 GB
Free Temp Space /tmp ≥ 1 GB
Free Swap Space > 0 B

In my case the checks showed:

  • Free Disk Space: 22.26 GiB — perfectly fine
  • Free Temp Space /tmp: 951.90 MiB — below Jenkins threshold
  • Free Swap Space: 0 B — no swap at all

The /tmp partition was only 956 MiB total — just under Jenkins' 1 GB requirement. So Jenkins automatically took the Built-In Node offline and refused to run any builds.


Fix Option 1 — Increase /tmp Size (Best for EC2)

This is the permanent fix. We increase the /tmp mount size by editing the filesystem configuration.

Step 1: Open the fstab file

sudo nano /etc/fstab
Enter fullscreen mode Exit fullscreen mode

Step 2: Add this line at the bottom

tmpfs /tmp tmpfs defaults,size=2G 0 0
Enter fullscreen mode Exit fullscreen mode

Save and exit (Ctrl+XYEnter)

Step 3: Remount /tmp without rebooting

sudo mount -o remount /tmp
Enter fullscreen mode Exit fullscreen mode

Step 4: Verify the new size

df -h /tmp
Enter fullscreen mode Exit fullscreen mode

You should now see:

Filesystem   Size   Used   Avail   Use%   Mounted on
tmpfs        2.0G   4.8M   2.0G    1%     /tmp
Enter fullscreen mode Exit fullscreen mode

/tmp is now 2 GB — well above Jenkins' 1 GB threshold! ✅


Fix Option 2 — Quick Jenkins Restart (Temporary Fix)

If you just need Jenkins back online quickly:

sudo rm -rf /tmp/*
sudo systemctl restart jenkins
Enter fullscreen mode Exit fullscreen mode

This clears temp files and forces Jenkins to recheck the threshold. Sometimes this is enough to bring the node back online temporarily.


Bonus Fix — Add Swap Space (Important for t2.micro)

On t2.micro EC2 instances, swap is 0 B by default. Jenkins warns about this too. Here is how to create a 1 GB swap file:

# Create a 1GB swap file
sudo fallocate -l 1G /swapfile

# Set correct permissions
sudo chmod 600 /swapfile

# Set up swap space
sudo mkswap /swapfile

# Enable the swap
sudo swapon /swapfile

# Verify
free -h
Enter fullscreen mode Exit fullscreen mode

Result

After applying Fix Option 1 and adding swap space the node came back online immediately!

  • Built-In Node came back Online
  • Jenkins disk space warning disappeared
  • Builds started running immediately

Key Takeaways

t2.micro has very limited resources — always check /tmp size when setting up Jenkins on a free tier EC2.

Never ignore Jenkins resource warnings — they directly affect whether your node stays online.

Fix Option 1 is permanent, Fix Option 2 is temporary. Always go with Option 1 for a stable setup.

Always add swap on t2.micro — it prevents a lot of memory-related Jenkins issues down the line.


*Setting up Jenkins on EC2? Drop your questions in the comments *


Top comments (0)