更改进程优先级
在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