
suspend Command in Linux
The Linux suspend command is a crucial tool for managing power states on a system. It allows users to pause their system while preserving the current state, enabling quick resumption without a full reboot.
Table of Contents
Here is a comprehensive guide to the options available with the suspend command −
- Introduction to System Suspension in Linux
- What is System Suspension?
- Why Use the Suspend Command?
- How to Use suspend Command in Linux?
- Multiple Ways to Suspend a System
- Examples of Suspend Command in Linux
- Troubleshooting for Suspend Command Issues
Introduction to System Suspension in Linux
Power management is an essential aspect of computing, especially for laptops and mobile devices. The ability to suspend a system helps conserve energy while allowing users to resume their work quickly.
The suspend command in Linux is used to put the system into a low-power state, allowing users to temporarily halt operations while preserving the current session. This is particularly useful for laptops and mobile devices, as it helps conserve battery life without shutting down the system completely. When a system is suspended, most hardware components, including the CPU and display, are powered down, while the RAM remains active to store the current state.
This allows users to resume their work quickly without needing to reboot or reload applications. The systemctl suspend command is commonly used in modern Linux distributions to initiate this process, ensuring a seamless transition between active and suspended states.
What is System Suspension?
System suspension refers to putting the computer into a low-power state while preserving its current session. There are two primary types of suspension −
- Suspend to RAM (S3) – Also known as sleep mode, this keeps the RAM powered while shutting down most other components.
- Suspend to Disk (S4) – Also known as hibernate mode, this saves the system state to disk and powers off completely.
Why Use the Suspend Command?
- Energy Efficiency − Reduces power consumption when the system is idle.
- Quick Resume − Allows users to resume work without rebooting.
- Preserves System State − Keeps applications and files open.
- Ideal for Laptops − Prevents battery drain when not in use.
How to Use suspend Command in Linux?
Linux provides multiple methods for suspending a system, each with varying levels of power conservation. The most common method is Suspend to RAM (S3 state), where the system's state is stored in RAM while other components are powered down. This method offers fast wake-up times but still consumes a small amount of power.
Another option is Suspend to Disk (S4 state), also known as hibernation, where the system writes the current state to the swap space on disk and completely powers off. This method conserves more energy but takes longer to resume.
Additionally, Hybrid Suspend combines both approaches by saving the system state to disk while keeping RAM active, ensuring data preservation even if power is lost.
Multiple Ways to Suspend a System
Linux provides multiple ways to suspend a system, primarily using systemd and legacy power management tools.
Basic Syntax −
sudo systemctl suspend

This command puts the system into Suspend to RAM (S3) mode.
For Suspend to Disk (Hibernate) −
sudo systemctl hibernate

Checking System Power States
To check available power states −
cat /sys/power/state

Here,
- freeze − Low-power state for embedded systems.
- mem − Suspend to RAM.
- disk − Suspend to Disk (Hibernate).
Examples of Suspend Command in Linux
To suspend a Linux system manually, users can execute systemctl suspend in the terminal, which triggers the system's power management functions. Alternatively, older methods such as pm-suspend or dbus-send can be used, though they may require additional configuration.
Some desktop environments, like GNOME and KDE, provide graphical options for suspending the system, making it accessible to users who prefer a GUI-based approach. Additionally, users can automate suspension by configuring power management settings to trigger suspend mode when closing a laptop lid or after a period of inactivity.
Suspending the System to RAM
Before Suspension, check the current uptime −
uptime

This shows the system has been running for 3 hours and 15 minutes.
Executing the Suspend Command −
sudo systemctl suspend

The system enters Suspend to RAM mode.
Resuming the System
Press the power button or any keyboard key to wake the system.
After Resumption, check uptime again −
uptime

The system resumes without rebooting, preserving all open applications.
Suspending the System to Disk (Hibernate)
Before Hibernation, check memory usage −
free -h

This shows 1.6GB of RAM is in use.
Executing the Hibernate Command −
sudo systemctl hibernate

The system saves the current state to disk and powers off.
Resuming from Hibernate, press the power button to turn the system back on.
After Resumption, check memory usage again −
free -h

The system restores all applications and files exactly as they were before hibernation.
Advanced Suspend Configurations
Configuring Automatic Suspend: To automatically suspend the system after 30 minutes of inactivity, modify −
sudo nano /etc/systemd/logind.conf

Find the line −
IdleAction=suspenda
Uncomment and set −
- IdleAction=suspend
- IdleActionSec=30min
Apply changes −
sudo systemctl restart systemd-logind

Preventing Suspend for Specific Applications
Some applications, such as media players, should prevent suspension. Use −
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

To re-enable suspension −
sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

Troubleshooting for Suspend Command Issues
While suspension is a convenient feature, it is not without challenges. Some hardware components, such as network adapters or graphics drivers, may not resume properly after suspension, leading to connectivity issues or display glitches. To mitigate these problems, users can check system logs (journalctl -b -1) for errors and update drivers or firmware as needed. Additionally, certain applications may not handle suspension well, requiring manual intervention to restore functionality. Ensuring compatibility between hardware and software is crucial for a smooth suspension experience.
Issue 1 − System Does Not Resume Properly
Solution − Check logs for errors −
journalctl -b -1 | grep suspend

If errors indicate driver issues, update drivers −
sudo apt update && sudo apt upgrade
Issue 2 − Hibernate Not Working
Solution − Ensure swap space is larger than RAM −
sudo swapon --show

If swap is insufficient, increase it −
sudo fallocate -l 16G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile

Update /etc/fstab −
/swapfile none swap sw 0 0

Issue 3 − System Suspends Unexpectedly
Solution − Check power settings −
cat /etc/systemd/logind.conf | grep IdleAction

Modify settings if needed.
Security Considerations
Preventing Unauthorized Wake-Up
Disable wake-on-LAN −
sudo ethtool -s eth0 wol d

Locking the Screen Before Suspend: Ensure the system locks before suspending −
gsettings set org.gnome.desktop.lockdown disable-lock-screen false

Conclusion
The Linux suspend command is an essential tool for power management, allowing users to pause their system while preserving its state. Whether using Suspend to RAM for quick resumes or Suspend to Disk for long-term hibernation, understanding these commands enhances efficiency and usability. In summary, the suspend command in Linux is an essential tool for power management, allowing users to temporarily halt system operations while preserving their session.
With multiple suspension methods available, users can choose the most suitable option based on their needs. While modern Linux distributions provide robust support for suspension, occasional hardware or software issues may arise, requiring troubleshooting. By understanding how suspension works and configuring power management settings effectively, Linux users can optimize their system's energy efficiency while maintaining productivity.