DEV Community

Janak Shrestha
Janak Shrestha

Posted on

Controlling User Processes: Setting Soft and Hard Limits to Prevent Performance Degradation

On our Storage server in Stratos Datacenter we are having some issues where the nfsuser user is holding hundreds of processes, which is degrading the performance of the server. Therefore, we have a requirement to limit its maximum processes. Please set its maximum process limits as below:

a. soft limit = 1026

b. hard_limit = 2024


Solution

Step 1: Connect to Storage Server (ststor01)

ssh natasha@ststor01
# Password: Bl@kW
Enter fullscreen mode Exit fullscreen mode

Step 2: Switch to root

sudo su -
# Password: Bl@kW
Enter fullscreen mode Exit fullscreen mode

Step 3: Set limits for nfsuser

# Add soft limit
echo "nfsuser soft nproc 1026" >> /etc/security/limits.conf

# Add hard limit
echo "nfsuser hard nproc 2024" >> /etc/security/limits.conf
Enter fullscreen mode Exit fullscreen mode

Step 4: Verify the configuration

# Check the limits.conf file
tail -5 /etc/security/limits.conf

# Verify limits are applied (new session required)
su - nfsuser -c "ulimit -u"
su - nfsuser -c "ulimit -u -H"
Enter fullscreen mode Exit fullscreen mode

One-Line Command

echo 'Bl@kW' | ssh natasha@ststor01 "sudo -S bash -c 'echo \"nfsuser soft nproc 1026\" >> /etc/security/limits.conf && echo \"nfsuser hard nproc 2024\" >> /etc/security/limits.conf && tail -5 /etc/security/limits.conf && echo \"Soft: \$(su - nfsuser -c \"ulimit -u\")\" && echo \"Hard: \$(su - nfsuser -c \"ulimit -u -H\")\"'"
Enter fullscreen mode Exit fullscreen mode

Step-by-Step Interactive Commands

# Connect to storage server
ssh natasha@ststor01
# Password: Bl@kW

# Become root
sudo su -
# Password: Bl@kW

# Check current limits
echo "=== Current limits for nfsuser ==="
su - nfsuser -c "ulimit -u"

# Add soft limit
echo "=== Adding soft limit 1026 ==="
echo "nfsuser soft nproc 1026" >> /etc/security/limits.conf

# Add hard limit
echo "=== Adding hard limit 2024 ==="
echo "nfsuser hard nproc 2024" >> /etc/security/limits.conf

# Verify entries
echo "=== /etc/security/limits.conf entries ==="
grep nfsuser /etc/security/limits.conf

# Verify new limits
echo "=== New soft limit ==="
su - nfsuser -c "ulimit -u"

echo "=== New hard limit ==="
su - nfsuser -c "ulimit -u -H"

# Exit
exit
exit
Enter fullscreen mode Exit fullscreen mode

Expected Output

[root@ststor01 ~]# echo "nfsuser soft nproc 1026" >> /etc/security/limits.conf
[root@ststor01 ~]# echo "nfsuser hard nproc 2024" >> /etc/security/limits.conf

[root@ststor01 ~]# grep nfsuser /etc/security/limits.conf
nfsuser soft nproc 1026
nfsuser hard nproc 2024

[root@ststor01 ~]# su - nfsuser -c "ulimit -u"
1026

[root@ststor01 ~]# su - nfsuser -c "ulimit -u -H"
2024
Enter fullscreen mode Exit fullscreen mode

Verification Commands

# Check limits.conf entries
grep nfsuser /etc/security/limits.conf

# Check soft limit
su - nfsuser -c "ulimit -u"

# Check hard limit
su - nfsuser -c "ulimit -u -H"

# Check all limits for nfsuser
su - nfsuser -c "ulimit -a"
Enter fullscreen mode Exit fullscreen mode

Summary

  • Soft limit: 1026 (nfsuser soft nproc 1026)
  • Hard limit: 2024 (nfsuser hard nproc 2024)
  • ✅ Configuration added to /etc/security/limits.conf
  • ✅ Limits verified for nfsuser

The process limits for nfsuser have been successfully configured on the Storage server.

Top comments (0)