Linux下限制用户资源的实践(linux限制用户资源)
随着Linux系统极端普及,许多系统管理员都需要在Linux系统下限制用户的资源,比如磁盘空间、cpu时钟周期数等等。以下我们介绍几种常用的实践方法来实现限制用户资源的目的。
1、设置用户组,指定任务的最大资源限制
使用Linux系统的有效用户组有助于系统管理实施限制用户的资源。Linux系统的用户组分为特权组、一般组和无效组三类,可以借助两种机制来限制用户资源:(1)基于用户组权限设置;(2)基于用户组资源限制。将用户分配到相应的用户组,然后指定该组的最大资源限制。
例如,可以在Linux系统下通过login.defs文件中指定该用户组所花费的最大CPU周期数。
GROUP max-cpu min-cpu
adm 15000 0 daemon 10000 0
lp 10000 0
2、设置应用的资源限制
Linux系统下的prlimit命令可以用来调整正在运行的进程使用的系统资源,可以通过该命令实现限制用户资源的目的。
此命令的语法如下:
/usr/bin/prlimit --UID=[UID] --limit=[limit] --pid=[PID] --do=[action]
–limit只能设置Nice值与coredump大小,参数以下列格式指定:
nice value
coredump size
例如,设置用户123在开启任务时只能使用最久保持15分钟CPU时钟周期,可以使用以下语句:
/usr/bin/prlimit --UID=123 --limit=cpu=15m --do=hold
3、使用队列和用户名称自动缩放
Linux系统的资源管理可以根据不同的任务类型把进程自动放入不同的队列,从而可以按照WC0格式控制用户及队列下任务所占用的最大资源。此外,可以设置指定启动任务时,对用户进行资源限制,可以在crontab文件中添加以下内容:
@reboot username soft cpu=15m
以上Linux系统中实施资源限制,可以帮助系统管理员有效控制用户资源消耗,保证系统性能。