67、ulimit的使用
1、ulimit
set or get the shells resource usage limits
ulimit [OPTIONS] [LIMIT]
2、option
① -a 顯示當(dāng)前所有的資源限制。
② -c size:設(shè)置core文件的最大值。單位:blocks
③ -n size 指定同一時間最多可開啟的文件數(shù)
④ -l size:設(shè)置在內(nèi)存中鎖定進程的最大值。單位:KB
⑤ -m size:設(shè)置可以使用的常駐內(nèi)存的最大值。單位:KB
⑥ -s size:設(shè)置堆棧的最大值。單位:kbytes
⑦ -t size:設(shè)置CPU使用時間的最大上限。單位:seconds
⑧ -v size:設(shè)置虛擬內(nèi)存的最大值。單位:kbytes
3、示例
1)ulimit -s 262140? //設(shè)置堆棧的最大值為256M,默認(rèn)為10M
通過/etc/profile或/.bash_profile中添加該命令來使系統(tǒng)記住該值
source /root/.bash_profile
/etc/security/limits 對這些值進行了定義
2)ulimit -u 10000 //用戶的最大進程數(shù)
3)ulimit -n 4096 //將每個進程可以打開的文件數(shù)目設(shè)置為4096
4)其他建議設(shè)置成無限制(unlimited)的一些重要設(shè)置是:
① 數(shù)據(jù)段長度:ulimit -d unlimited
② 最大內(nèi)存大小:ulimit -m unlimited
③ 堆棧大小:ulimit -s unlimited
④ CPU 時間:ulimit -t unlimited
⑤ 虛擬內(nèi)存:ulimit -v unlimited
⑥ core文件大小 ulimit -c unlimited/size
說明:
??? 文件cat?/proc/sys/kernel/core_pattern/?記錄當(dāng)下core文件的位置,core則為當(dāng)前目錄。
5)通過ulimit可以對進程和用戶分別做資源限制了。很多應(yīng)用需要對整個系統(tǒng)的資源使用做一個總的限制,這時候我們需要修改 /proc 下的配置文件。
/proc 目錄下包含了很多系統(tǒng)當(dāng)前狀態(tài)的參數(shù),例如 /proc/sys/kernel/pid_max。
4、C語言中的ulimit,get and set user limits。[5]
參考
【1】 http://linux.die.net/man/1/ulimit
【2】 更多參數(shù)的敘述
http://linux.die.net/man/1/ulimit
http://zhangyafeng0917.blog.163.com/blog/static/44436412201082921948750/
【3】 講解了幾個應(yīng)用場景
http://www.justwinit.cn/post/2650/
【4】 舉了很多應(yīng)用實例
http://hi.baidu.com/fengjian1585/blog/item/b49aa7a232f1f1b9cbefd023.html
【5】 http://linux.die.net/man/3/ulimit
轉(zhuǎn)載于:https://www.cnblogs.com/mydomain/archive/2011/10/20/2218480.html
總結(jié)
以上是生活随笔為你收集整理的67、ulimit的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我和《Visual c++2013入门经
- 下一篇: 【OpenDDS开发指南V3.20】第一