ulimit 명령어

carlkim·2024년 1월 3일
0

시스템엔지니어링

목록 보기
27/35
post-thumbnail

ulimit

  • 프로세스가 사용하는 자원에 대한 제어를 관리할 수 있게 도아준다.

    soft limit와 hard limit 두 가지 타입이 있다.

  • soft limit : 소프트 제한은 사용자가 설정한 값으로, 사용자는 이 값을 초과할 수 있지만 자신의 프로세스에 대한 리소스 사용이 이 값을 초과하면 시스템은 알림을 생성하거나 제한을 적용할 수 있습니다.

  • hard limit : 하드 제한은 시스템 전체에서 적용되는 제한으로, 사용자는 이 값을 초과할 수 없습니다

-H 옵션과 -S 옵션을 이용해 hard/soft limit을 구분할 수 있다.
-H, -S 옵션을 명시하지 않으면 soft limit과 hard limit이 동시에 설정된다.

  • ulimit : 유저가 사용할 수있는 프로세스 제한
    was 튜닝할 때 많이 쓰는 명령어
    기본적으로 제한하는 것은 파일 갯수, 프로세스 갯수.
    스레드 갯수도 프로세스로 포함
    (리눅스의 프로세스와 자바 스레드 갯수를 같이 카운트 한다는 것이다)

ulimit 옵션 정리

-a : 모든 limit값 출력
-b : 최대 soket buffer size
-c : 최대 코어 파일 사이즈
-d : 프로세스 data segment의 최대 크기
-f : shell에 만들어질 수 있는 파일의 최대 크기
-s : 최대 stack size
-n : open file descriptor의 최대 수
-u : 한 유저가 실행할 수 있는 최대 process 수
-x : 파일 락의 최대값
-T : thread 수의 최대값 (OS 버전에 따라 옵션이 작동하지 않는 경우도 있습니다)

2. open files 와 max user Processes

-- JAVA에서 동시에 생성 가능한 THREAD 수는 MAX USER PROCESSES를 따른다.
-- JAVA에서 소켓 통신(HTTP API, JDBC 커녁션 등)은 OPEN FILE 옵션을 따라간다.

  1. ulimit 값 설정하기
ulimit [옵션] [자원수]

위 같은 방식으로 자원 제한을 설정할 수 있다.

stack size를 256으로 바꾸고 싶으면 아래 명령어를 입력하면 된다.

이렇게 변경하면 재접속하면 다시 원상 복귀된다.

영구적인 변경을 위해서는 /etc/security/limits.conf를 설정해줘야 한다.

ulimit -s 256

  1. 영구적으로 ulimit 값을 변경하기

설정파일 위치

/etc/security/limit.conf

이를테면 hwan이라는 유저의 stack 개숫를 8012으로 늘리려한다하면

위처럼 수정하고 저장 후 재시작하면 된다.

재시작

sudo systemctl restart systemd-logind

확인

ulimit -a
profile
기본부터 가면 됩니다.

0개의 댓글

관련 채용 정보