ulimit linux 調優

來源:互聯網
上載者:User

ulimit -a 用來顯示當前的各種使用者進程限制。
    Linux對於每個使用者,系統限制其最大進程數。為提高效能,可以根據裝置資源情況,
    設定各linux 使用者的最大進程數,下面我把某linux使用者的最大進程數設為10000個:
     ulimit -u 10000
     對於需要做許多 socket 串連並使它們處於開啟狀態的 Java 應用程式而言,
     最好通過使用 ulimit -n xx 修改每個進程可開啟的檔案數,預設值是 1024。
     ulimit -n 4096 將每個進程可以開啟的檔案數目加大到4096,預設為1024
     其他建議設定成無限制(unlimited)的一些重要設定是:
     資料區段長度:ulimit -d unlimited
     最大記憶體大小:ulimit -m unlimited
     堆棧大小:ulimit -s unlimited
     CPU 時間:ulimit -t unlimited
     虛擬記憶體:ulimit -v unlimited
  
     暫時地,適用於通過 ulimit 命令登入 shell 會話期間。
     永久地,通過將一個相應的 ulimit 語句添加到由登入 shell 讀取的檔案中, 即特定於 shell 的使用者資源檔,如:

1)、解除 Linux 系統的最大進程數和最大檔案開啟數限制:
        vi /etc/security/limits.conf
        # 添加如下的行
        * soft noproc 11000
        * hard noproc 11000
        * soft nofile 4100
        * hard nofile 4100
       說明:* 代錶針對所有使用者
                    noproc 是代表最大進程數
                    nofile 是代表最大檔案開啟數
2)、讓 SSH 接受 Login 程式的登入,方便在 ssh 用戶端查看 ulimit -a 資源限制:
        a、vi /etc/ssh/sshd_config
             把 UserLogin 的值改為 yes,並把 # 注釋去掉
        b、重啟 sshd 服務:
              /etc/init.d/sshd restart
3)、修改所有 linux 使用者的環境變數檔案:
vi /etc/profile
ulimit -u 10000
ulimit -n 4096
ulimit -d unlimited
ulimit -m unlimited
ulimit -s unlimited
ulimit -t unlimited
ulimit -v unlimited

/**************************************

有時候在程式裡面需要開啟多個檔案,進行分析,系統一般預設數量是1024,(用ulimit -a可以看到)對於正常使用是夠了,但是對於程式來講,就太少了。
修改2個檔案。
1./etc/security/limits.conf
vi /etc/security/limits.conf
加上:
* soft nofile 8192
* hard nofile 20480
2./etc/pam.d/login
session required /lib/security/pam_limits.so
**********
另外確保/etc/pam.d/system-auth檔案有下面內容
session required /lib/security/$ISA/pam_limits.so
這一行確保系統會執行這個限制。
***********
3.一般使用者的.bash_profile
#ulimit -n 1024
重新登陸ok

本文來自ChinaUnix部落格,如果查看原文請點:http://blog.chinaunix.net/u2/60332/showart_472398.html

 

***************************

 

使用ulimit -a 可以查看當前系統的所有限制值,使用ulimit -n 可以查看當前的最大開啟檔案數。

新裝的linux預設只有1024,當作負載較大的伺服器時,很容易遇到error: too many open files。因此,需要將其改大。

使用 ulimit -n 65535 可即時修改,但重啟後就無效了。(注ulimit -SHn 65535 等效 ulimit -n 65535,-S指soft,-H指hard)

有如下三種修改方式:

1.在/etc/rc.local 中增加一行 ulimit -SHn 65535
2.在/etc/profile 中增加一行 ulimit -SHn 65535
3.在/etc/security/limits.conf最後增加如下兩行記錄
* soft nofile 65535
* hard nofile 65535

具體使用哪種,試試哪種有效吧,我在 CentOS中使用第1種方式無效果,使用第3種方式有效果,而在Debian中使用第2種有效果

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.