更改进程优先级

在linux系统中,所有活跃进程都有一个优先级以及nice值,有比点优先级进程有更高优先级的进场一般会获得更多的CPU时间。可以使用nice和renice命令更改优先级。在top命令的输出中,NI显示了进程的nice值。使用nice命令为进程设置nice值,一个普通用户可以给他拥有的进程设置0到20的nice值,只有root用户可以使用负值的nice值。

$ renice +8  1314
$ renice +8  2526

进程资源限制

在Linux系统中,资源限制是指一个进程的执行过程中,它所能得到的资源限制,比如进程的core file的最大值,虚拟内存的最大值等。资源限制的大小可以直接影响程序的执行状况,其中资源限制分为soft limit和hard limit限制,soft limit是指内涵所能支持的资源上限。hard limit在资源中只能作为soft limit的上限,当设置了hard limit后,设置soft limit只能小于hard Limit。hard limit只真的对非特权进程。可以使用limits.conf配置该规则。另外可以使用ulimit命令来完成之源限制。

关于limits.conf的配置可以查阅相关文档.例如鸟哥的blog:

http://linux.vbird.org/linux_basic/0410accountmanager.php#limits

範例一:vbird1 這個用戶只能建立 100MB 的檔案,且大於 90MB 會警告
[root@study ~]# vim /etc/security/limits.conf
vbird1	soft		fsize		 90000
vbird1	hard		fsize		100000
#帳號   限制依據	限制項目 	限制值
# 第一欄位為帳號,或者是群組!若為群組則前面需要加上 @ ,例如 @projecta
# 第二欄位為限制的依據,是嚴格(hard),還是僅為警告(soft);
# 第三欄位為相關限制,此例中限制檔案容量,
# 第四欄位為限制的值,在此例中單位為 KB。
# 若以 vbird1 登入後,進行如下的操作則會有相關的限制出現!

ulimit命令用来限制系统用户对shell资源的访

usage: ulimit [选项]
选项:
    -a:显示目前资源限制的设定;
    -c <core文件上限>:设定core文件的最大值,单位为区块;
    -d <数据节区大小>:程序数据节区的最大值,单位为KB;
    -f <文件大小>:shell所能建立的最大文件,单位为区块;
    -H:设定资源的硬性限制,也就是管理员所设下的限制;
    -m <内存大小>:指定可使用内存的上限,单位为KB;
    -n <文件数目>:指定同一时间最多可开启的文件数;
    -p <缓冲区大小>:指定管道缓冲区的大小,单位512字节;
    -s <堆叠大小>:指定堆叠的上限,单位为KB;
    -S:设定资源的弹性限制;
    -t <CPU时间>:指定CPU使用时间的上限,单位为秒;
    -u <程序数目>:用户最多可开启的程序数目;
    -v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB。
 实例:
 	$ ulimit -a