美文网首页
Oracle关于内存参数及大页设置的相关概念和设置之Limits

Oracle关于内存参数及大页设置的相关概念和设置之Limits

作者: e652d1fb12eb | 来源:发表于2020-12-10 16:18 被阅读0次

    最近,对Linux大页的调整,所以重温了一些Linux内存及SGA等相关概念、参数和配置,这里进行一下记录,省的总Google.

    一、关于Limits.conf中的配置

    1. limits.conf 配置文件描述

    limits.conf文件实际是Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,突破系統的默认限制,對系統訪問資源有一定保護作用。 limits.conf 和sysctl.conf區別在於limits.conf是針對用戶,而sysctl.conf是針對整個系統參數配置。

    2. limits.conf工作原理

    limits.conf是 pam_limits.so的 配置文件,然後/etc/pam.d/下的應用程序調用pam_***.so模塊。譬如說,當用戶訪問服務器,服務程序將請求發送到PAM模塊,PAM模塊根據服務名稱在/etc/pam.d目 錄下選擇一個對應的服務文件,然後根據服務文件的內容選擇具體的PAM模塊進行處理。

    3. 相关选项:

    格式为:

    username|@groupname  type  resource  limit
    
    • resource 表示要限制的資源

    • core - 限制內核文件的大小
      何謂core文件,當一個程序崩潰時,在進程當前工作目錄的core文件中復制了該進程的存儲圖像。core文件僅僅是一個內存映象(同時加上調試信息),主要是用來調試的。 core文件是個二進制文件,需要用相應的工具來分析程序崩潰時的內存映像,系統默認core文件的大小為0,所以沒有被創建。可以用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 - 打開文件的最大數目

    對於需要做許多套接字連接並使它們處於打開狀態的應用程序而言,最好通過使用ulimit -n,或者通過設置nofile參數,為用戶把文件描述符的數量設置得比默認值高一些

    maxlogins - 此用戶允許登錄的最大數目
    註意:要使 limits.conf 文件配置生效,必須要確保 pam_limits.so 文件被加入到啟動文件中。查看 /etc/pam.d/login 文件中有:session required /lib/security/pam_limits.so

    详细说明:

    username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。

    type:有 soft,hard 和 -,

    soft 指的是当前系统生效的设置值。

    hard 表明系统中所能设定的最大值。

    soft 的限制不能比har 限制高。

    用 - 就表明同时设置了 soft 和 hard 的值。
    resource:

    • core - 限制内核文件的大小

    • date - 最大数据大小

    • fsize - 最大文件大小

    • memlock - 最大锁定内存地址空间

    • nofile - 打开文件的最大数目

    • rss - 最大持久设置大小

    • stack - 最大栈大小

    • cpu - 以分钟为单位的最多 CPU 时间

    • noproc - 进程的最大数目

    • as - 地址空间限制

    • maxlogins - 此用户允许登录的最大数目

    • maxsyslogins - 用户登入最大数目

    • priority - 用户进程优先级(负数值)

    • locks - 最大locks文件最值

    • sigpending - 最大数量的等待信号

    • msgqueue - postfix消息队列最大内存使用空间

    • nice - 允许使用最大“好心值”

    • rtprio - 无特权进程中最大实际优及级

    4. limits.conf 設置使用

    示例,若機器上部署了ORACLE數據庫,我們需要對oracle用戶的資源做下調整,如下:

    \# 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
    

    --查看當前系統配置文件ulimit的全局配置

    ulimit -a

    如果未進行具體設置的話,會使用默認配置,如下查看:

    grep ‘^*‘ /etc/security/limits.conf
    

    批註:當使用*號讓全局用戶生效的時候,生效的nproc的值大小是受文件/etc/security/limits.d/90-nproc.conf中nproc值大小制約的,而如果僅僅是針對某個用戶,那麽就不受該文件nproc值大小的影響。

    Linux系統 /etc/security/limits.conf 配置

    参考自
    https://yq.aliyun.com/articles/434415
    https://www.itread01.com/content/1501938140.html

    相关文章

      网友评论

          本文标题:Oracle关于内存参数及大页设置的相关概念和设置之Limits

          本文链接:https://www.haomeiwen.com/subject/jrhrgktx.html