본문 바로가기

리눅스

리눅스에서 ulimit을 설정하는 방법

728x90

리눅스에서 ulimit을 설정하는 방법

  1. 현재 세션에서만 유효한 임시 설정
  2. 시스템 부팅 시부터 적용되는 영구 설정
  3. 재부팅 또는 세션 재시작

1. 현재 세션에서만 유효한 임시 설정

현재 세션에서만 유효한 임시 설정은 ulimit 명령어를 사용하여 설정할 수 있습니다.

ulimit -(H 또는 S) (옵션) (값)

-H는 하드 리밋을 설정하는 옵션이고, -S는 소프트 리밋을 설정하는 옵션입니다. 옵션은 ulimit의 종류를 지정하는 것으로, 다음과 같은 종류가 있습니다.

 

  • nofile : 열린 파일의 최대 개수
    • 현재 세션에서 사용자의 최대 파일 디스크립터 수를 65535로 설정합니다. 이 변경 사항은 현재 세션에서만 적용되며 세션이 종료되면 리셋됩니다.
ulimit -n 65535
  • nproc : 프로세스의 최대 개수
    • 현재 세션에서 사용자의 최대 실행 가능한 프로세스 수를 65535로 설정합니다. 마찬가지로 이 변경은 현재 세션에만 적용됩니다.
ulimit -u 65535
  • memlock : 메모리 고정 크기
    • 현재 세션에서 사용자가 락할 수 있는 메모리를 무제한으로 설정합니다.
ulimit -l unlimited

값은 설정하고자 하는 값을 입력합니다.

 

예를 들어, 현재 세션에서 nofile의 하드 리밋을 1024로 설정하려면 다음과 같이 입력합니다.

ulimit -H nofile 1024

2. 시스템 부팅 시부터 적용되는 영구 설정

시스템 부팅 시부터 적용되는 영구 설정은 /etc/security/limits.conf 파일을 수정하여 설정할 수 있습니다.

 

/etc/security/limits.conf 파일은 다음과 같은 형식으로 되어 있습니다.

<유저> <하드 리밋> <소프트 리밋>

예를 들어, root 사용자의 nofile의 하드 리밋을 1024로 설정하려면 다음과 같이 입력합니다.

root soft nofile 1024
root hard nofile 1024

/etc/security/limits.conf 파일을 수정한 후에는 ulimit -a 명령어를 사용하여 설정된 값이 올바르게 적용되었는지 확인해야 합니다.

 

  • nofile(최대 파일 디스크립터 수)
    • nofile은 열린 파일의 최대 개수를 제한하는 리밋입니다. nofile의 하드 리밋이 설정되어 있는 경우, 프로세스는 하드 리밋을 초과하여 열린 파일을 생성할 수 없습니다.
*       hard    nofile   65535
*       soft    nofile   65535
  • nproc(최대 프로세스 수)
    • nproc는 프로세스의 최대 개수를 제한하는 리밋입니다. nproc의 하드 리밋이 설정되어 있는 경우, 프로세스는 하드 리밋을 초과하여 프로세스를 생성할 수 없습니다.
*       hard    nproc    65535
*       soft    nproc    65535
  • memlock(메모리 락)
    • memlock은 메모리 고정 크기를 제한하는 리밋입니다. memlock의 하드 리밋이 설정되어 있는 경우, 프로세스는 하드 리밋을 초과하여 메모리를 고정할 수 없습니다.
*       hard    memlock   unlimited
*       soft    memlock   unlimited

 

  • 권장 설정
    • 리눅스 시스템에서 ulimit을 설정할 때는 다음과 같은 권장 설정을 참고할 수 있습니다.
      • nofile: 2048 이상
      • nproc: 1024 이상
      • memlock: 1024MB 이상

물론, 시스템의 사용 환경에 따라 적절한 값을 설정해야 합니다.

3. 재부팅 또는 세션 재시작

  • 변경 사항이 영구적으로 적용되려면 재부팅이나 세션 재시작이 필요할 수 있습니다.
  • limits.conf 파일을 수정한 후에는 로그아웃하고 다시 로그인하여 변경 사항을 적용할 수 있습니다.

ulimit은 시스템 자원의 사용량을 제한하는 데 사용되므로, 변경 사항을 신중하게 적용하고 테스트하는 것이 좋습니다.

 

728x90