ulimit PICKLE: "작업이 허용되지 않음" 및 "명령을 찾을 수 없음"

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. 왜 이런 일이 발생합니까?

페도라 14 사용

답변1

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

소프트 제한을 하드 제한으로 늘립니다.

답변2

파일을 열고 /etc/security/limits.conf루트 사용자에게 변경을 <user> soft nofile <value>사용하여 ulimit동일한 작업을 시도하십시오.

관련 정보