资源配额常用工具
ulimit
ulimit 工具可以 对用户可以使用的系统资源进行限制,如 打开的文件数量、CPU 时间、内存总量 等。
语法
ulimit -SHacdfltu [配额]
-H 硬指标,不能超过此值
-S 软指标,可以超过此值,超过会有警告信息
通常软指标比硬指标小,达到先警告再限制的效果
-a 后面不接任何选项与参数,可列出所有的限制额度
-c 限制每个内核文件的大小
程序出错时,系统将该程序在内存中的信息写成内核文件,便于除错。
-f 当前 shell 可以创建文件的容量限制
单位为 KBytes,一般为 2GB
-d 程序可使用的最大断裂内存(segment)容量;
-l 可用于锁定的内存量
-t 可使用的最大 CPU 时间 (秒)
-u 单一用户可以使用的最大进程数量。
范例
- 查看当前普通用户身份的所有配额
ulimit -a
配额为 0 表示没限制
- 限制用户仅能创建 10 MBytes 以下的文件
ulimit -f 10240
📕 恢复 ulimit 的设置只需 重新登陆。
📕 如果普通用户使用 ulimit 设置了的文件大小配额,他后期只允许 继续降低 此配额,无权提升。
xfs_quota
语法
xfs_quota 用于生成配额的详细报告,设置各种配额参数。
xfs_quota -x -c "子命令" [挂载点]
-x 专家模式,用于接 -c 子命令
-c 接 子命令
用户子命令
print 查看当前主机内的文件系统、对应的路径
df 与 df 功能相同,可以加上 -b(block)-i(inode)-h(加上单位)
report 列出目前的配额项目,可接 -ugr (user/group/project) 及 -bi 等参数
state 查看当前具体的配额设置
管理员子命令
disable 暂时禁用配额的限制。其实系统还是在计算配额,只是没有管制。
enable 启用配额限制,恢复正常管制。
off 针对文件系统完全关闭某类配额的限制。只有卸载、重新挂载才能再次启用配额。
remove 清除所有配额设置,必须在 off 状态下进行。
范例
暂时禁用配额
xfs_quota -x -c "disable -up" /home
重新恢复配额
xfs_quota -x -c "enable -up" /home
关闭文件系统项目配额限制
xfs_quota -x -c "off -p" /home
清除某类配额
要先使用 off 子命令来关闭该类配额,然后再用 remove 清除。
xfs_quota -x -c "off -u" /home 关闭用户配额限制
xfs_quota -x -c "remove -u" /home 清除用户配额设置
remove 会清除所有用户或所有项目的配额,无法针对特定用户或项目单独清除。
查看当前各文件系统的挂载参数
xfs_quota -x -c "print"
查看 /home 的磁盘使用率
xfs_quota -x -c "df -h" /home
查看目录中所有用户的配额
xfs_quota -x -c "report -ubih" /home
查看当前文件系统具体的配额设置
xfs_quota -x -c "state"
针对用户设置块配额
xfs_quota -x -c "limit -u bsoft=250M bhard=300M myquota1" /home
针对组设置块配额
xfs_quota -x -c "limit -g bsoft=950M bhard=1G myquotagrp" /home
设置宽限时间
xfs_quota -x -c "timer -ug -b 14days" /home
生成项目配置文件
echo "myquotaproject:11" >> /etc/projid
项目初始化
xfs_quota -x -c "project -s myquotaproject"
设置项目配额
xfs_quota -x -c "limit -p bsoft=450M bhard=500M myquotaproject" /home