通过limits.conf与PAM协同实现用户资源限制,cgroups和systemd用于更精细的动态控制。

Linux系统通过多种机制来管理和限制不同用户的资源使用,最常见且直接的方式是利用
limits.conf
cgroups
systemd
解决方案 要设置Linux不同用户的资源限制,主要通过编辑
/etc/security/limits.conf
/etc/security/limits.conf
<domain> <type> <item> <value>
<domain>
@
*
%
<type>
soft
hard
<item>
nofile
nproc
as
rss
data
stack
cpu
memlock
<value>
unlimited
示例配置:
# 限制用户 'devuser' 最大文件打开数为软限制1024,硬限制4096 devuser soft nofile 1024 devuser hard nofile 4096 # 限制用户组 '@developers' 最大进程数为软限制200,硬限制500 @developers soft nproc 200 @developers hard nproc 500 # 限制所有用户最大虚拟内存为2GB (2097152 KB) * hard as 2097152 # 允许devuser锁定最多64MB内存,这在某些高性能计算场景下有用 devuser soft memlock 65536 devuser hard memlock 65536
配置完成后,通常需要用户重新登录才能使新设置生效。确保PAM模块
pam_limits.so
/etc/pam.d/
login
sshd
su
/etc/pam.d/login
/etc/pam.d/sshd
session required pam_limits.so
/etc/security/limits.conf
limits.conf
我记得有一次,我就是因为改了
/etc/security/limits.conf
/etc/security/limits.conf
pam_limits.so
/etc/pam.d/login
/etc/pam.d/sshd
session required pam_limits.so
pam_limits.so
pam_limits.so
/etc/security/limits.conf
ulimit -Sn <value>
limits.conf
超越
limits.conf
cgroups
systemd
对我来说,
/etc/security/limits.conf
cgroups
systemd
cgroups
limits.conf
cgroups
limits.conf
cgroups
systemd
cgroups
cgroups
.service
user@.service
.slice
何时需要它们?
systemd
cgroups
.service
CPUAccounting=yes
MemoryMax=512M
limits.conf
systemd
user@.slice
/etc/systemd/system.conf
user-.slice
cgroups
cgroups
举个例子,如果你想限制特定用户
devuser
limits.conf
systemd
user@.service
# /etc/systemd/system/user-.slice.d/devuser.conf [Slice] CPUAccounting=yes CPUQuota=20% MemoryAccounting=yes MemoryMax=1G
然后
systemctl daemon-reload
devuser
systemd
limits.conf
cgroups
systemd
常见的资源限制类型有哪些?如何根据实际需求设置合理的资源阈值?
在Linux中,我们可以限制的资源类型非常多,但日常工作中,有几个是特别常用且关键的:
nofile
nofile
nproc
nproc
as
rss
as
data
stack
memlock
如何设置合理的资源阈值?
设置合理的阈值并非一蹴而就,它需要结合实际的应用场景、系统负载以及对未来增长的预期进行。
ulimit -a
ulimit -n
top
htop
free -h
vmstat
nofile
nproc
我通常会先跑一段时间服务,观察其峰值资源消耗,然后在此基础上留出20-30%的冗余来设置硬限制,防止突发流量或错误导致系统崩溃,同时软限制可以设得更低一些,作为一种预警。这样既保证了系统的弹性,又提供了安全保障。
以上就是Linux怎么设置不同用户的资源限制的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号