linux程序可分為前台程序、後台程序、守護程序
前台程序、後台程序沒有脫離shell,其父程序都為shell程序,其資源限制也繼承至相應shell程序,可用ulimit工具修改其資源限制
ulimit -a 檢視當前shell所有資源限制
ulimit -n 檢視當前shell能開啟的檔案總數
參考文件:
守護程序脫離的shell,其父程序為init程序(舊版)或systemd程序(新版)
以父程序為systemd程序的守護程序為例:
其全域性配置位於:
/etc/systemd/system.conf 和 /etc/systemd/user.conf(修改後重啟系統生效)
defaultlimitcpu=
defaultlimitfsize=
defaultlimitdata=
defaultlimitstack=
defaultlimitcore=
defaultlimitrss=
defaultlimitnofile=
defaultlimitas=
defaultlimitnproc=
defaultlimitmemlock=
defaultlimitlocks=
defaultlimitsigpending=
defaultlimitmsgqueue=
defaultlimitnice=
defaultlimitrtprio=
defaultlimitrttime=
也可對單個service配置資源限制:
以nginx服務為例:
其配置檔案為:/usr/lib/systemd/system/nginx.service(修改後執行systemctl daemon-reload並重啟服務生效)
[service]
limitcore=infinity
limitnofile=100000
limitnproc=100000
其他:
檢視指定程序資源限制:
cat /proc/《程序id>/limits
核心引數:
fs.file-max 設定系統開啟的最大檔案數
fs.nr_open 設定打個程序能開啟的最大檔案數
Linux程序資源限制
在linux系統下啟動執行乙個程序時,可對該程序執行時可占用的資源進行限制。程序的資源限制通常是在系統初始化時由init程序建立的,然後後續程序繼承。用法 include int getrlimit int resource,struct rlimit rlim int setrlimit int ...
程序資源限制
每個程序都有一組資源限制,程序的資源限制通常是在系統初始化時由 0 程序建立的,然後由後續程序繼承。每種實現都可以用自己的方法對資源限制做出調整。可以使用 getrlimit 和 setrlimit 函式來查詢和修改程序的資源限制。include int getrlimit int resource...
限制程序使用的資源
getrlimit和setrlimit函式 每個程序都有一組資源限制,其中某一些可以用getrlimit和setrlimit函式查詢和更改。include include int getrlimit int resource,struct rlimit rlptr int setrlimit int...