lsof工具
檔案描述子是一個簡單的整數,用以標明每一個被流程所開啟的檔案和socket。第一個打開的文件是0,第二個是1,依此類推。 Linux作業系統通常會為每個行程能開啟的檔案數量強加一個限制,Linux通常有一個系統級1024的限制。
隨著並發的增大,原有系統預設的1024個檔案描述符肯定會不夠用,時間越長,系統可能會報如下錯誤:
open files limits…..
查看nginx進程所佔用的檔案描述符,可以執行指令:
<code>lsof <span>| grep nginx</span></code>
部分結果
<code>nginx <span>6845</span> nobody <span>6</span>u <span>IPv4</span><span>179045</span> 0t<span>0</span><span>TCP</span> *<span>:http</span> (<span>LISTEN</span>) nginx <span>6845</span> nobody <span>7</span>u <span>IPv4</span><span>179046</span> 0t<span>0</span><span>TCP</span> *<span>:ddi-tcp-</span><span>1</span> (<span>LISTEN</span>) nginx <span>6845</span> nobody <span>8</span>u unix <span>0xffff88005eda0c80</span> 0t<span>0</span><span>179050</span> socket nginx <span>6845</span> nobody <span>9</span>u <span>REG</span><span>0</span>,<span>9</span><span>0</span><span>3660</span> anon_inode nginx <span>6845</span> nobody <span>10</span>u <span>REG</span><span>0</span>,<span>9</span><span>0</span><span>3660</span> anon_inode</code>
*註:第二行是nginx的進程編號
<code><span># 统计nginx进程打开了多少个文件数可以用下边的命令</span>lsof <span>|grep nginx|wc –l</span></code>
方法1:
上邊部分結果的第二列是nginx的進程號
可以看到這個行程產生的文件,然後看limits檔
<code><span>cd</span> /prec/<span>6845</span></code>
第八行,Max open files是51200,(預設是1024),這是因為
我在nginx.conf裡面頂格加了一行:
<code>more limits</code>
方法二:
執行:
<code>worker_rlimit_nofile 51200;</code>
reee
執行:<code>ulimit <span>-a</span></code>即可
方法三:
<code>ulimit <span>-SHn</span><span>65535</span></code>執行:
<code>[root<span>@localhost</span><span>6845</span>]# sysctl -a | grep <span>file</span>-<span>max</span> fs.<span>file</span>-<span>max</span> = <span>201604</span> [root<span>@localhost</span><span>6845</span>]#</code>要永久生效編輯:
<code>[root<span>@localhost</span><span>6845</span>]# sysctl -w fs.<span>file</span>-<span>max</span>=<span>65535</span> fs.<span>file</span>-<span>max</span> = <span>65535</span> [root<span>@localhost</span><span>6845</span>]# sysctl -a | grep <span>file</span>-<span>max</span> fs.<span>file</span>-<span>max</span> = <span>65535</span></code>
以上就介紹了nginx反向代理優化(檔案描述子),包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。