ulimit -Hn을 늘릴 수 없으며 sudo su 세션에만 표시됩니다.

ulimit -Hn을 늘릴 수 없으며 sudo su 세션에만 표시됩니다.

그래서 Ubuntu 18.04 노트북에서 파일 설명자의 하드 제한을 변경하려고 합니다. 모든 것을 시도했지만 변경 사항이 여전히 적용되지 않습니다.

이 오류가 계속 발생하는 go 프로그램을 실행해야 합니다.too many open files

그래서 /etc/security/limits.conf이 블로그 게시물을 기반으로 내 파일을 일부 변경했습니다.https://medium.com/@muhammadtriwibowo/set-permanently-ulimit-n-open-files-in-ubuntu-4d61064429a

내용은 다음과 같습니다limits.conf

* soft     nproc          65535    
* hard     nproc          65535   
* soft     nofile         65535   
* hard     nofile         65535
root soft     nproc          65535    
root hard     nproc          65535   
root soft     nofile         65535   
root hard     nofile         65535

또한 세션에 필요한 pam_limits.so 라인을 추가하기 위해 /etc/pam.d/common-session을 변경했습니다.

터미널을 다시 시작했는데 ulimit -Hn여전히 4096이 표시되지만 sudo su를 실행하고 동일한 명령을 실행하면 65535가 표시됩니다.

하지만 su 세션 내에서 go 프로그램을 실행하지 않기 때문에 여전히 작동하지 않습니다. 슈퍼유저뿐만 아니라 모든 사용자에 대해 실제 하드 제한을 더 높은 값으로 변경해야 합니다.

내가 뭘 잘못했나요?

답변1

당신은 매우 가깝습니다.

이러한 값이 필요한 사용자 이름을 추가하세요. 루트에 대한 제한을 설정했다면 이제 필요한 사용자에 대해 제한을 설정하세요.

사용자 그룹 등을 추가할 수 있습니다. Redhat 사이트에서:

        # vi /etc/security/limits.conf
    #<domain>        <type>  <item>  <value>

    *               -       core             <value>
    *               -       data             <value>
    *               -       priority         <value>
    *               -       fsize            <value>
    *               soft    sigpending       <value> eg:57344
    *               hard    sigpending       <value> eg:57444
    *               -       memlock          <value>
    *               -       nofile           <value> eg:1024
    *               -       msgqueue         <value> eg:819200
    *               -       locks            <value>
    *               soft    core             <value>
    *               hard    nofile           <value>
    @<group>        hard    nproc            <value>
    <user>          soft    nproc            <value>
    %<group>        hard    nproc            <value>
    <user>          hard    nproc            <value>
    @<group>        -       maxlogins        <value>
    <user>          hard    cpu              <value>
    <user>          soft    cpu              <value>
    <user>          hard    locks            <value>

<domain> can be:

a user name
a group name, with @group syntax
the wildcard *, for default entry
the wildcard %, can be also used with %group syntax, for maxlogin limit

Limit.conf에서 사용자를 설정하고 로그아웃했다가 다시 로그인하여 도움이 되는지 확인하세요.

joe soft     nproc          65535    
joe hard     nproc          65535   
joe soft     nofile         65535   
joe hard     nofile         65535

관련 정보