답변:
저스틴의 대답은 어떻게 사용할 수 열려있는 파일의 수를 인상하는 방법을 알려줍니다 총 전체 시스템에 관한 것이다. 그러나 전 세계적으로 사용자 당 한도를 높이는 방법을 묻는다고 생각합니다. 이에 대한 답은 다음 줄을 추가하는 것입니다 /etc/security/limits.conf
.
* soft nofile 2048
* hard nofile 2048
*는 모든 사용자를 의미합니다.
해당 파일 자체와에 요약 문서가 man limits.conf
있습니다. 이는에 pam_limits.so
구성된 다양한 서비스를 위해 호출 되는 모듈을 통해 구현됩니다 /etc/pam.d/
.
그리고 나는 그것이 1024의 기본값이 어디에서 왔는지 전혀 모른다 는 것을 인정해야합니다 . 그리고 저를 믿었습니다. pam_limits 모듈을 구성하지 않고 시도했지만 여전히 있습니다. 어딘가에 하드 코딩되어 있어야하지만 정확히 어디에 있는지 확실하지 않습니다.
Linux에서 최대 열린 파일 / 파일 설명자 (FD) 수 증가 기사에 따르면에 항목을 추가하여 열린 파일 제한을 늘릴 수 있습니다 /etc/sysctl.conf
.
다음과 같이 구성 지시문을 추가하십시오.
fs.file-max = 100000
그런 다음 파일을 저장하고 닫습니다. 변경 사항을 적용하려면 사용자가 로그 아웃했다가 다시 로그인해야하거나 다음 명령을 입력하면됩니다.
# sysctl -p
다음 명령으로 설정을 확인할 수도 있습니다.
# cat /proc/sys/fs/file-max
Linux에서 최대 ulimit 열린 파일 수 늘리기
1. 단계 :를 열고이 sysctl.conf
줄을 추가하십시오 fs.file-max = 65536
$ vi /etc/sysctl.conf
새 줄을 추가하고
fs.file-max = 65536
저장하고 종료.
2. 단계 :
$ vi /etc/security/limits.conf
언급 된 아래에 추가하십시오.
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
저장하고 종료 확인 최대 열린 파일 ulimit
# ulimit -a
....
open files (-n) 65535
그러나 MariaDB 또는 다른 서비스 ( systemd 사용 ) 와 같은 서비스 의 열린 파일의 최대 수를 늘리려면 파일 .service에서 직접해야합니다.
/lib/systemd/system/<servicename>.service
이 같은 것입니다 :
[Unit]
Description=Some Daemon
After=syslog.target network.target
[Service]
Type=notify
LimitNOFILE=49152
ExecStart=/usr/sbin/somedaemon
[Install]
WantedBy=multi-user.target
완전한 대답은 여기에 있습니다 : CentOS 7에서 systemd에 의해 시작된 프로세스에 대한 nproc 증가
systemd
Linux 에코 시스템에서 지속적인 변화와 함께 보편적 인 변화가 일어나고 있기 때문에이를 상향 조정해야합니다 . 그러나 cp -r /lib/systemd/system/mariadb.service /etc/systemd/system/
패키지에서 제공하는 시스템 전체의 서비스 파일이 아니라 해당 파일에 대한 답변을 편집하고 해당 파일을 변경하는 것이 좋습니다.
보충 :
다른 곳에서 구성을 찾을 수 있습니다. /etc/security/limits.d/*.conf
나는 그것을 수정해야했다. 그것 없이는 작동하지 않았습니다. 형식은와 동일limits.conf