ulimit PICKLE :“작업이 허용되지 않습니다”및“명령을 찾을 수 없습니다” 최대 열린 파일 수를 늘리려

현재 사용자의 최대 열린 파일 수를 늘리려 고합니다.

> ulimit -n
1024

나는 다음과 같이 증가하고 실패하려고합니다.

> ulimit -n 4096
bash: ulimit: open files: cannot modify limit: Operation not permitted

그래서 나는 자연스러운 일을하고 임시 허가로 달리려고하지만 실패합니다.

> sudo ulimit -n 4096
sudo: ulimit: command not found

질문

  1. ulimit를 늘리는 방법?
  2. 왜 이런 일이 발생합니까?

Fedora 14 사용



답변

ulimit외부 명령이 아닌 쉘 내장입니다. 쉘 프로세스 자체에서 작동하기 때문에 내장 cd디렉토리가 필요합니다. 현재 디렉토리와 같은 한계는 특정 프로세스의 특성입니다.

sudo bash -c 'ulimit -n 4096'작동하지만 bash 프로세스의 한계를 변경하여 sudo도움이되지는 않습니다.

각 한계에는 하드 한계와 소프트 한계의 두 가지 값이 있습니다. 루트 만이 하드 한계를 높일 수 있습니다. 누구든지 하드 한계를 낮출 수 있으며, 소프트 한계는 하드 한계보다 높을 수 없다는 제약 조건만으로 어느 방향 으로든 수정할 수 있습니다. 소프트 한계는 중요한 실제 값입니다.

따라서 모든 프로세스에 열린 파일에 대한 최소 한계가 4096 이상이되도록 준비해야합니다. 소프트 한계를 1024로 유지할 수 있습니다. 많은 파일이 필요한 프로세스를 시작하기 전에 소프트 한계를 높이십시오. 에서 /etc/security/limits.conf, 라인을 추가

paislee hard nofile 4096
paislee soft nofile 1024

여기서 paislee프로세스를 실행하려는 사용자의 이름입니다. 더 높은 한계를 원하는 프로세스를 시작하는 쉘에서 다음을 실행하십시오.

ulimit -Sn unlimited

소프트 한계를 하드 한계로 올립니다.


답변

파일을 열고 /etc/security/limits.conf행을 추가하십시오 <user> soft nofile <value>. ulimit루트 사용자로 변경을 사용 하고 동일한 시도하십시오.


답변