我们希望每隔几个月为用户分配大量的cpu-time和RAM-hours。 这是在Linux服务器上。 我认为process accounting可以帮助跟踪使用情况,但不强制执行使用策略。 什么是执行使用政策的好方法。 我们想要的就像一个银行帐户,用户可以从中提取CPU时间和内存时间。
如果我理解正确,ulimit会为每个shell实例的不同资源设置上限,因此看起来不够充分。 如果我纠正我,如果我对ulimit错误,我将不胜感激。 我怀疑我是。
看看cgroups
http://en.wikipedia.org/wiki/Cgroups
cgroups(控制组)是Linux内核function,用于限制,logging和隔离进程组的资源使用情况(CPU,内存,磁盘I / O等)。
从RedHat演示
pam_limits是一个可以尝试的选项。 在/etc/security/limit.conf中设置和logging选项,您可以将其设置为每个用户的最低限度:
# /etc/security/limits.conf # #Each line describes a limit for a user in the form: # #<domain> <type> <item> <value> # #Where: #<domain> can be: # - an user name # - a group name, with @group syntax # - the wildcard *, for default entry # - the wildcard %, can be also used with %group syntax, # for maxlogin limit # #<type> can have the two values: # - "soft" for enforcing the soft limits # - "hard" for enforcing hard limits # #<item> can be one of the following: # - core - limits the core file size (KB) # - data - max data size (KB) # - fsize - maximum filesize (KB) # - memlock - max locked-in-memory address space (KB) # - nofile - max number of open files # - rss - max resident set size (KB) # - stack - max stack size (KB) # - cpu - max CPU time (MIN) # - nproc - max number of processes # - as - address space limit (KB) # - maxlogins - max number of logins for this user # - maxsyslogins - max number of logins on the system # - priority - the priority to run user process with # - locks - max number of file locks the user can hold # - sigpending - max number of pending signals # - msgqueue - max memory used by POSIX message queues (bytes) # - nice - max nice priority allowed to raise to values: [-20, 19] # - rtprio - max realtime priority # #<domain> <type> <item> <value> # #* soft core 0 #* hard rss 10000 #@student hard nproc 20 #@faculty soft nproc 20 #@faculty hard nproc 50 #ftp hard nproc 0 #@student - maxlogins 4