본문으로 건너뛰기

ulimit 명령어 사용하기

💡 요약 정리

  • ulimit 명령어는 Linux 시스템에서 사용자별 리소스(자원) 사용 한계를 관리할 수 있는 명령어입니다.
  • 시스템 성능과 커널 안정성에 큰 영향을 줄 수 있으므로 설정 시 주의가 필요합니다.
  • 한시적 설정은 ulimit 명령으로 가능하며, 영구 적용은 limits.conf 파일을 수정해야 합니다.
  • 명령어로 설정 가능한 항목에는 open files 제한, 가상 메모리, 스택 크기 등이 포함됩니다.
  • 설정 상태는 ulimit -a, ulimit -Ha, ulimit -Sa 명령으로 확인할 수 있습니다.

1. 설치환경

  • CentOS 5.x (64bit)

2. ulimit 명령어란?

  • ulimit명령어를 이용하여 프로세스들에 대한 시스템자원사용을 제한할수 있다. 하지만 ulimit명령어를 사용하면 커널의 성능과 기능에 막대한 영향을 주게 되므로 사용시에 주의해야 한다.

3. ulimit 명령어로 설정 가능한 시스템 자원 제한 사항

  • 코어(core)파일 생성시 최대 크기 제한
  • 쉘에 의해 만들어질 수 있는 파일의 최대크기 제한
  • 한 사용자에게 허용 가능한 프로세스(user processes)의 최대 개수 제한
  • 쉘에 허용 가능한 가상메모리(virtual memory)의 최대량 제한
  • 오픈할수 있는 파일기술자(FD: file descriptor)의 최대 개수 제한
  • 스택크기(stack size)의 최대크기 제한
  • 초(second)당 사용 가능한 CPU의 최대 허용 시간(cpu time) 제한
  • 메모리에 상주(resident set size)할수 있는 최대 크기 제한
  • 512byte 블록단위로 파이프크기(pipe size)설정
  • 프로세스 데이터세그먼트(process data segment)의 최대 크기 제한

4. ulimit 명령어 활용

  • 현재 로그인한 사용자의 자원 제한 사항 보기 : -a
  • hard limit 값 보기 : -Ha
  • soft limit 값 보기 : -Sa