lsof 도구
파일 설명자는 프로세스에서 열린 각 파일과 소켓을 식별하는 간단한 정수입니다. 열린 첫 번째 파일은 0이고 두 번째 파일은 1입니다. Linux 운영 체제에서는 일반적으로 각 프로세스가 열 수 있는 파일 수에 제한을 두고 있으며 Linux에서는 일반적으로 시스템 수준 제한이 1024입니다.
동시성이 증가하면 원래 시스템의 기본 1024개 파일 설명자는 확실히 충분하지 않게 됩니다. 시간이 길어질수록 시스템은 다음 오류를 보고할 수 있습니다.
열린 파일 제한…..
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의 프로세스 번호입니다
<code><span>cd</span> /prec/<span>6845</span></code>
이 프로세스로 생성된 파일을 확인한 다음 제한 파일을 보면
<code>more limits</code>
여덟 번째 줄인 Max open files은 51200입니다(기본값은 1024).
nginx.conf의 상단 상자에 한 줄을 추가했기 때문입니다.
<code>worker_rlimit_nofile 51200;</code>
방법 2:
실행:
<code>ulimit <span>-a</span></code>
실행:
<code>ulimit <span>-SHn</span><span>65535</span></code>
그런 다음
방법 3:
<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>
원하는 경우 영구적으로 만들려면
<code>vim /etc/sysctl<span>.conf</span></code>
파일을 편집하고
<code>fs.<span>file</span>-<span>max</span>=<span>65535</span></code>
줄을 추가한 후 다음 명령을 실행하여 적용합니다.
<code>sysctl <span>-p</span></code>
위 내용은 내용의 측면을 포함하여 nginx 역방향 프록시 최적화(파일 설명자)를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.