를 사용하여 Java 앱을 실행할 계획 nohup ... &
입니다. 이와 같은 명령에는 제한이 적용되어야합니다.
를 사용하여 Java 앱을 실행할 계획 nohup ... &
입니다. 이와 같은 명령에는 제한이 적용되어야합니다.
답변:
대부분의 시스템은 PAM을 사용 하며에 따라 pam_limits
모듈 제한을 설정합니다 /etc/security/limits.conf
. 열린 파일에 대한 사용자 별 제한을라고 nofile
합니다. 모든 사용자 또는 특정 사용자 또는 그룹에 대해 설정할 수 있으며, 사용자가 재정의 할 수있는 한계 (소프트 한계)와 루트 만 재정의 할 수있는 다른 한계 (하드 한계)를 설정할 수 있습니다. 문서 및 limits.conf
매뉴얼 페이지에는 세부 사항이있다. 예를 들어 모든 사람의 한도를 50000으로 올리려면이 줄을 입력하십시오 /etc/limits.conf
(로그인 할 때 설정이 적용됨).
* - nofile 50000
limits.conf
수행 * hard nofile 50000
및 / 또는 * soft nofile 50000
. 나는 하드와 소프트의 기술적 차이를 모르고 항상 두 가지를 모두 해왔다.
limit descriptors 50000
내에서 주어진 터미널 창 / 세션 내에서 값을 변경하기 위해 수행 할 수 있습니다 .
ulimit
명령 을 실행하여 언제든지 소프트 한계를 변경할 수 있습니다 ( limit
csh에서 호출 ). 권한이없는 사용자는 절대 하드 한계보다 높을 수 없습니다.
당신은 추가 할 수 있습니다 fs.file-max = <your number>
로 /etc/sysctl.conf
. 그런 다음 재부팅하십시오.
sysctl fs.file-max=123456
. ( /etc/sysctl.conf
부팅 할 때 sysctl
내용 을 호출하는 스크립트로 읽습니다 .)
이를 위해 ulimit를 사용할 수 있습니다.
http://bloggerdigest.blogspot.com/2006/10/purpose-of-ulimit-linux-command.html
그러한 조정에 의지하기 전에 너무 많은 파일 핸들을 여는 것이 절대적으로 필요한지 확인해야합니다. 루프에서 inputstream.close ()를 잊어 버렸기 때문에 최대 파일 핸들을 늘리는 것은 근본적인 문제를 지연시킬뿐입니다.