-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
ulimit명령어를 이용하여 프로세스들에 대한 시스템자원사용을 제한할수 있다.
하지만 ulimit명령어를 사용하면 커널의 성능과 기능에 막대한 영향을 주게 되므로 사용시에 주의해야 한다.
- ulimit명령어로 설정가능한 시스템자원 제한사항
- 코어(core)파일 생성시 최대 크기 제한
- 쉘에 의해 만들어질 수 있는 파일의 최대크기 제한
- 한 사용자에게 허용 가능한 프로세스(user processes)의 최대 개수 제한
- 쉘에 허용 가능한 가상메모리(virtual memory)의 최대량 제한
- 오픈할수 있는 파일기술자(FD: file descriptor)의 최대 개수 제한
- 스택크기(stack size)의 최대크기 제한
- 초(second)당 사용 가능한 CPU의 최대 허용 시간(cpu time) 제한
- 메모리에 상주(resident set size)할수 있는 최대 크기 제한
- 512byte 블록단위로 파이프크기(pipe size)설정
- 프로세스 데이터세그먼트(process data segment)의 최대 크기 제한
ulimit명령어의 사용은 운영체제(kernel)의 실행에 결정적인 요인으로 작용할수도 있기 때문에
설정할 때에는 시스템 상황을 정확하게 파악하여 설정결과에 대해서 미리 예측한후에 사용해야 한다.
- 하드웨어적인제한(H)과 소프트웨어적인제한(S)
하드웨어적인 제한이란, 일반적으로 소프트웨어적인 제한이 넘어갈수 없는 제한을 말한다.
소프트웨어적인 제한이란, 사용자가 일반적으로 제한사항을 지정하여 지정하여 자원사용을 제한하는것을 말한다.
시스템의 하드웨어적인 제한사항을 모두 보려면 "-Ha"옵션을 사용하면 되며,
소프트웨어적인 제한사항을 모두 확인하려면 "-Sa"옵션을 사용하면 된다.
"H", "S"를 주지 않고 "-a"옵션만을 사용하면 소프트웨어적인 제한사항을 보여 준다
※ ulimit의 설정값을 변경후 재부팅을 하게 되면 설정값은 초기화가 된다.
따라서 .bash_profile에 명령어를 설정하거나, /etc/profile파일에 설정명령어를 넣어두면 재부팅시에도 해당값이 유지가 된다.
Metadata
Metadata
Assignees
Labels
No labels