ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유저 프로세스 개수 제한 - ulimit -u <최대값>
    Dev/Linux 2024. 2. 3. 20:54
    반응형

    개별 유저의 생성 가능한 프로세스의 개수를 제한할 수 있다.
    ulimit 명령어를 사용하면 되는데 ulimit 명령은 다양한 시스템 리소스의 최대값을 유저별로 설정할 수 있다.

    설정값 없이 실행하면 현재 설정값을 보여주며 설정값을 주면 최대값으로 설정한다.

    -S(soft) 또는 -H(hard) 타입을 지정가능하며 설정값 없이 실행 시 -S(soft)값을 기본으로 보여준다.

    현재 로그인 한 유저의 있는 최대 생성가능한 프로세스의 수 보기.

    
    soft 설정
    $ ulimit -u
    $ ulimit -Su
    
    hard 설정
    $ ulimit -Hu

    현재 로그인 한 유저가 생성할 수 있는 최대 프로세스 개수 지정하기

    
    soft 설정
    $ ulimit -u 20
    $ ulimit -Su 20
    
    hard 설정
    $ ulimit -Hu 30

    -H(hard) type 으로 제한 값을 설정 시 그 이상의 프로세스 생성이 절대 불가능하다.
    다만, -S(soft) type 으로 제한 값을 설정 시 경고(WARNING)만 주고 hard 값 까지는 생성이 될 것이라 예상했는데 RHEL8.6 에서 soft 값 이상의 프로세스 생성이 불가능했다.

    
    [user1]$ ulimit -Su
    20
    [user1]$ ulimit -Hu
    30
    
    # ps -eLf|grep ^user1 -c
    12
    
    [user1]$ stress --vm 10 --vm-bytes 1M --vm-hang 60
    stress: info: [62858] dispatching hogs: 0 cpu, 0 io, 10 vm, 0 hdd
    stress: FAIL: [62858] (346) fork failed: Resource temporarily unavailable
    stress: FAIL: [62858] (346) fork failed: Resource temporarily unavailable
    stress: FAIL: [62858] (346) fork failed: Resource temporarily unavailable
    
    # ps -eLf|grep ^user1 -c
    20

    ulimit 명령은 현재 로그인 한 유저의 리소스만 제한 가능하며 시스템 전체에 대한 설정은 /etc/security/limit.conf 에서 설정가능하다.

    반응형
Designed by Tistory.