Skip to content

linux ulimit commends 사용하여 자원 제한 #14

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
sypark9646 opened this issue May 5, 2022 · 0 comments
Open

linux ulimit commends 사용하여 자원 제한 #14

sypark9646 opened this issue May 5, 2022 · 0 comments

Comments

@sypark9646
Copy link
Owner

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

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

ulimit명령어의 사용은 운영체제(kernel)의 실행에 결정적인 요인으로 작용할수도 있기 때문에
설정할 때에는 시스템 상황을 정확하게 파악하여 설정결과에 대해서 미리 예측한후에 사용해야 한다.

  • 하드웨어적인제한(H)과 소프트웨어적인제한(S)
    하드웨어적인 제한이란, 일반적으로 소프트웨어적인 제한이 넘어갈수 없는 제한을 말한다.
    소프트웨어적인 제한이란, 사용자가 일반적으로 제한사항을 지정하여 지정하여 자원사용을 제한하는것을 말한다.

시스템의 하드웨어적인 제한사항을 모두 보려면 "-Ha"옵션을 사용하면 되며,
소프트웨어적인 제한사항을 모두 확인하려면 "-Sa"옵션을 사용하면 된다.
"H", "S"를 주지 않고 "-a"옵션만을 사용하면 소프트웨어적인 제한사항을 보여 준다

※ ulimit의 설정값을 변경후 재부팅을 하게 되면 설정값은 초기화가 된다.
따라서 .bash_profile에 명령어를 설정하거나, /etc/profile파일에 설정명령어를 넣어두면 재부팅시에도 해당값이 유지가 된다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant