2012-12-28 4 views
7

우리는 또한 추가 세션이 /etc/pam.d/loginpam_limits.so을 요구 /etc/security/limits.conf헤드리스 사용자로 실행중인 프로세스에 반영된 /etc/security/limits.conf 변경 사항을 얻는 방법은 무엇입니까?

soft nofile 10000 
hard nofile 10000 

우리가 변화를 다음 않은 우분투 리눅스 시스템의 모든 프로세스에 대한 FD 제한을 늘리십시오. 변경 사항은 로그 아웃하고 다시 로그인 한 모든 사용자에게 반영되었습니다. 이러한 사용자로 시작하는 새로운 프로세스가 무엇이든간에 새로운 FD 제한을 얻는 중입니다.

그러나 헤드리스 사용자로 실행중인 프로세스의 경우 변경 사항이 반영되지 않습니다. 헤드리스 사용자로 실행중인 프로세스에 변경 사항을 반영 할 수있는 방법은 무엇입니까?

+1

헤드리스 사용자 란 무엇을 의미합니까? – Atropo

답변

5

나는 (루트/myuser를 사용하여) 동일한 문제가 있었으며 확실한 답을 찾을 수 없었다. 난 그냥 프로세스 (이 경우 탄성 검색)을 시작하는있는 init.d 스크립트에

ulimit -n 64000

을 추가하고,이 트릭을 할 것으로 보인다 끝났다.

다른 누군가가 더 나은 해결책을 알고 있기를 바랍니다.

+0

ulimit -n이 작동 할 수 있으므로 sudo 권한을 사용하여 init.d 스크립트를 시작해야합니다. 내 경우에는 프로세스를 시작하는 스크립트가 루트 권한으로 실행되지 않으므로 루트 권한이 필요한 ulimit을 사용하는 것이 옵션이 아닙니다. – Ameliorator

+1

맞습니다. 나는 왜'/ etc/security/limits.conf'가 init.d 스크립트에 적용되지 않는지 이해하지 못합니다. (필자는 사실 이후에 수동으로 실행할 수 있으며 한계는 예상대로입니다!) – Spike

+0

내 경우에는 내가 실행하고 있던 응용 프로그램이 sudo로 시작되었습니다. 나는 그 한계가 루트 사용자의 계정에서 적용될 것이라고 믿었다. 내가 틀렸어. 대신, 응용 프로그램이 루트로 실행되고 있지만 적용된 제한은 응용 프로그램을 시작한 사용자의 제한 사항입니다. – MaasSql