最近豪治,對Linux大頁的調(diào)整耘婚,所以重溫了一些Linux內(nèi)存及SGA等相關(guān)概念、參數(shù)和配置关翎,這里進行一下記錄扛门,省的總Google.
一、關(guān)于Limits.conf中的配置
1. limits.conf 配置文件描述
limits.conf文件實際是Linux PAM(插入式認(rèn)證模塊纵寝,Pluggable Authentication Modules)中 pam_limits.so 的配置文件论寨,突破系統(tǒng)的默認(rèn)限制,對系統(tǒng)訪問資源有一定保護作用爽茴。 limits.conf 和sysctl.conf區(qū)別在於limits.conf是針對用戶葬凳,而sysctl.conf是針對整個系統(tǒng)參數(shù)配置。
2. limits.conf工作原理
limits.conf是 pam_limits.so的 配置文件室奏,然後/etc/pam.d/下的應(yīng)用程序調(diào)用pam_***.so模塊火焰。譬如說,當(dāng)用戶訪問服務(wù)器胧沫,服務(wù)程序?qū)⒄埱蟀l(fā)送到PAM模塊昌简,PAM模塊根據(jù)服務(wù)名稱在/etc/pam.d目 錄下選擇一個對應(yīng)的服務(wù)文件,然後根據(jù)服務(wù)文件的內(nèi)容選擇具體的PAM模塊進行處理绒怨。
3. 相關(guān)選項:
格式為:
username|@groupname type resource limit
resource 表示要限制的資源
core - 限制內(nèi)核文件的大小
何謂core文件,當(dāng)一個程序崩潰時纯赎,在進程當(dāng)前工作目錄的core文件中復(fù)制了該進程的存儲圖像。core文件僅僅是一個內(nèi)存映象(同時加上調(diào)試信息)南蹂,主要是用來調(diào)試的犬金。 core文件是個二進制文件,需要用相應(yīng)的工具來分析程序崩潰時的內(nèi)存映像,系統(tǒng)默認(rèn)core文件的大小為0晚顷,所以沒有被創(chuàng)建峰伙。可以用ulimit命令查看和修改core文件的大小音同,例如:
\#ulimit –c
0
#ulimit -c 1000
-c 指定修改core文件的大小词爬,1000指定了core文件大小。也可以對core文件的大小不做限制权均,如: ulimit -c unlimited
註意:如果想讓修改永久生效顿膨,則需要修改配置文件,如 .bash_profile叽赊、/etc/profile或/etc/security/limits.conf
- nofile - 打開文件的最大數(shù)目
對於需要做許多套接字連接並使它們處於打開狀態(tài)的應(yīng)用程序而言恋沃,最好通過使用ulimit -n,或者通過設(shè)置nofile參數(shù)必指,為用戶把文件描述符的數(shù)量設(shè)置得比默認(rèn)值高一些
maxlogins - 此用戶允許登錄的最大數(shù)目
註意:要使 limits.conf 文件配置生效囊咏,必須要確保 pam_limits.so 文件被加入到啟動文件中。查看 /etc/pam.d/login 文件中有:session required /lib/security/pam_limits.so
詳細(xì)說明:
username|@groupname:設(shè)置需要被限制的用戶名塔橡,組名前面加@和用戶名區(qū)別梅割。也可以用通配符*來做所有用戶的限制。
type:有 soft葛家,hard 和 -户辞,
soft 指的是當(dāng)前系統(tǒng)生效的設(shè)置值。
hard 表明系統(tǒng)中所能設(shè)定的最大值癞谒。
soft 的限制不能比har 限制高底燎。
用 - 就表明同時設(shè)置了 soft 和 hard 的值。
resource:
core - 限制內(nèi)核文件的大小
date - 最大數(shù)據(jù)大小
fsize - 最大文件大小
memlock - 最大鎖定內(nèi)存地址空間
nofile - 打開文件的最大數(shù)目
rss - 最大持久設(shè)置大小
stack - 最大棧大小
cpu - 以分鐘為單位的最多 CPU 時間
noproc - 進程的最大數(shù)目
as - 地址空間限制
maxlogins - 此用戶允許登錄的最大數(shù)目
maxsyslogins - 用戶登入最大數(shù)目
priority - 用戶進程優(yōu)先級(負(fù)數(shù)值)
locks - 最大locks文件最值
sigpending - 最大數(shù)量的等待信號
msgqueue - postfix消息隊列最大內(nèi)存使用空間
nice - 允許使用最大“好心值”
rtprio - 無特權(quán)進程中最大實際優(yōu)及級
4. limits.conf 設(shè)置使用
示例弹砚,若機器上部署了ORACLE數(shù)據(jù)庫双仍,我們需要對oracle用戶的資源做下調(diào)整,如下:
\# oracle limits resource
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
要使 limits.conf 文件配置生效桌吃,必須要確保 pam_limits.so 文件被加入到啟動文件中朱沃。查看 /etc/pam.d/login 文件中有:
session required /lib/security/pam_limits.so
--查看當(dāng)前系統(tǒng)配置文件ulimit的全局配置
ulimit -a
如果未進行具體設(shè)置的話,會使用默認(rèn)配置茅诱,如下查看:
grep ‘^*‘ /etc/security/limits.conf
批註:當(dāng)使用*號讓全局用戶生效的時候为流,生效的nproc的值大小是受文件/etc/security/limits.d/90-nproc.conf中nproc值大小制約的,而如果僅僅是針對某個用戶让簿,那麼就不受該文件nproc值大小的影響。
Linux系統(tǒng) /etc/security/limits.conf 配置
參考自
https://yq.aliyun.com/articles/434415
https://www.itread01.com/content/1501938140.html