2008年2月25日星期一

服务器资源限制的设置

实验室的服务器刚检修完毕,觉得速度比以前快了一些,最重要的是觉得这是一个新的开始,以前的管理比较乱,现在要从头做起。
现在主管理节点上经常有人在算一些大的,时间长的作业,导致主节点运行效率低,但是这些作业经常是一些老师,也不好意思直接说,于是打算用计算机自动管理。
这方面可以使用ulimit来限制:
对于ulimit有两种:一种是命令行式的

ulimit 命令

用途

设置或报告用户资源极限。
语法

ulimit [ -H ] [ -S ] [ -a ] [ -c ] [ -d ] [ -f ] [ -m ] [ -n ] [ -s ] [ -t ] [ Limit ]
描述

ulimit 命令设置或报告用户进程资源极限,如 /etc/security/limits.conf 文件所定义。文件包含以下缺省值极限:

core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
pending signals (-i) 1024
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 16383
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited


当新用户添加到系统中时,这些值被作为缺省值使用。当向系统中添加用户时,以上值通过 mkuser 命令设置,或通过 chuser 命令更改。

极限分为软性和硬性。通过 ulimit 命令,用户可将软极限更改到硬极限的最大设置值。要更改资源硬极限,必须拥有 root 用户权限。

a 列出所有当前资源极限。
-c 以 512 字节块为单位,指定核心转储的大小。
-d 以 K 字节为单位指定数据区域的大小。
-f 使用 Limit 参数时设定文件大小极限(以块计),或者在未指定参数时报告文件大小极限。缺省值为 -f 标志。
-H 指定设置某个给定资源的硬极限。如果用户拥有 root 用户权限,可以增大硬极限。任何用户均可减少硬极限。
-m 以 K 字节为单位指定物理存储器的大小。
-n 指定一个进程可以拥有的文件描述符的数量的极限。
-s 以 K 字节为单位指定堆栈的大小。
-S 指定为给定的资源设置软极限。软极限可增大到硬极限的值。如果 -H 和 -S 标志均未指定,极限适用于以上二者。
-t 指定每个进程所使用的秒数。
退出状态

返回以下退出值:
0 成功完成。
>0 拒绝对更高的极限的请求,或发生错误。
示例

要将文件大小极限设置为 51,200 字节,输入:

ulimit -f 100

注:在 /etc/security/limits.conf 文件中设置缺省极限就是设置了系统宽度极限,而不仅仅是创建用户时用户所

修改过这个配置文件后需要重新启动生效,使用命令行,可以立刻生效。
我决定把cpu time设置为30分钟则应该为
ulimit -t 1800
这里是秒,配置文件中是分钟。

2008年2月2日星期六

明天回家

准确的说应该是今天回家。终于盼来了家里人来。
今年感觉上放假挺早的,但是作为一个学生,一个博士一年级的学生,这没有意义,以后的路还很长,很艰辛。开学3月份就要做开题报告,可是自己调研感觉还没做,老板又给了一大顿事情要做,还有其他杂七杂八的事情,简直觉得累死了,心想这种事情什么时候是个结束。
我不是一个没有远大志向的人,但是仅有这些是不行的,如果连眼前的一点点愿望,连很小的享受都不能满足的话,对于那些志向也会没有自信的。
今年本来心想是不是不下雪了,真没意思,很盼望下场大雪,但是之前的雪总是让人失望。不过真的有些吃惊,后来的雪忽忽悠悠的,下的不大,但是很久,到如今倒是积了不少,南方更是遇到50年一遇的大雪。
这几年家里到年底都要来郑州办事,通常会租辆车来,因此我也会打算搭着这趟车走。但是今年的雪让时间延迟了,本来说是30号就要来的,现在延到2号,已经是腊月26号。本来就不敢在家里待太久,想来学校把开题报告做了,现在回家又这么晚,心里还是不好受,不过不管怎么样,今天还是要回去了。
临走前要整理东西,把实验室整理了一番,谁知还是晚了,昨晚就熬了一夜,想是最后一夜,今晚回去好好睡一觉,看来是泡汤了。
明天在车上好好睡一觉吧。