天天看點

知識點查缺補漏貼03:單機最大程序數,線程數和Socket連接配接數

前言:

  參加unix/linux相關進階研發職位時,是否經常會被文檔,單機允許最大程序數、線程數和socket連接配接數,而你卻感到束手無措呢?本文給你一個最為詳細的答案。

一、最大程序數

  運作linux ulimit -a指令,我們可以看到:max user processes =1024 運作結構如下圖所示:

 二、最大線程數

<code>3660</code>

 看到最大線程數的限制了嗎?3660

三、最大socket連接配接數

關于最大socket連接配接數,因為一個socket連接配接需要占用一個檔案句柄,是以支援打開的連接配接數就是檔案數句柄數:open files (-n) 1024

四、一個程序允許啟動的最大線程數

  linux環境,一個程序配置設定的虛拟記憶體空間是4g,可用2g,每個線程stack空間為10m,2048/10  = 200,是以一般的單程序能開通的線程數也就可以确定了。約為200個。

五、ulimit指令詳解

參  數:

-a  顯示目前資源限制的設定。

-c &lt;core檔案上限&gt;  設定core檔案的最大值,機關為區塊。

-d &lt;資料節區大小&gt;  程式資料節區的最大值,機關為kb。

-f &lt;檔案大小&gt;  shell所能建立的最大檔案,機關為區塊。

-h  設定資源的硬性限制,也就是管理者所設下的限制。

-m &lt;記憶體大小&gt;  指定可使用記憶體的上限,機關為kb。

-n &lt;檔案數目&gt;  指定同一時間最多可開啟的檔案數。

-p &lt;緩沖區大小&gt;  指定管道緩沖區的大小,機關512位元組。

-s &lt;堆疊大小&gt;  指定堆疊的上限,機關為kb。

-s  設定資源的彈性限制。

-t &lt;cpu時間&gt;  指定cpu使用時間的上限,機關為秒。

-u &lt;程式數目&gt;  使用者最多可開啟的程式數目。

-v &lt;虛拟記憶體大小&gt;  指定可使用的虛拟記憶體上限,機關為kb。

繼續閱讀