Ulimit이란?
사용자별(user) 프로세스의 자원 한도(Limit)를 설정하는 명령
soft한도, hard한도 두가지로 나뉨
Soft : 새로운 프로그램을 생성하면 기본(default)으로 적용되는 한도
Hard : 소프트한도에서 최대(Max)로 늘릴 수 있는 한도
자바프로세스의 JVM Server나 apache, tomcat 등의 프로세스를 기동중 OOM (Out Of Memory) 가 발생하였지만,
메모리 부족이 아닌경우, 커널에서 설정한 자원한도에 도달했기때문이므로,
Ulimit을 설정해주셔야 합니다.
Ulimit 조회
Ulimit [조회 옵션] 값
-a : 모든 제한 사항을 보여줌.
-c : 최대 코어 파일 사이즈
-d : 프로세스 데이터 세그먼트의 최대 크기
-f : shell에 의해 만들어질 수 있는 파일의 최대 크기
-s : 최대 스택 크기
-p : 파이프 크기
-n : 오픈 파일의 최대수
-u : 오픈파일의 최대수
-v : 최대 가상메모리의 양
-S : soft 한도
-H : hard 한도
Ulimit 항목내용
core file size : 코어파일의 최대크기
data seg size : 프로세스의 데이터 세그먼트 최대크기
scheduling priority : 쉘에서 생성되는 파일의 최대 크기
max memory size : resident set size의 최대 크기(메모리 최대크기)
open files : 한 프로세스에서 열 수 있는 open file descriptor의 최대 숫자(열수 있는 최대 파일 수)
pipe size : 512-바이트 블럭의 파이프 크기
cpu time : 총 누적된 CPU 시간(초)
max user processes : 단일 유저가 사용가능한 프로세스의 최대 갯수
virtual memory : 쉘에서 사용가능 한 가상 메모리의 최대 용량
Open Files 설정
- open files : 한 프로세스에서 열 수 있는 open file descriptor의 최대 숫자 (열수 있는 최대 파일 수)
1) 즉시 설정 : ulimit -SHn 65535
2) 영구 설정 :
# /etc/security/limits.conf 수정
# user 사용자
user soft nofile 65535
user hard nofile 65535
# 모든(*) 사용자
* soft nofile 65535
* hard nofile 65535
Max User Processes 설정
- max user processes : 단일 유저가 사용가능한 프로세스의 최대 갯수
1) 즉시 설정 : ulimit -SHu 65535
2) 영구 설정 :
# /etc/security/limits.conf 수정
#user 사용자
user soft nproc 65535
user hard nproc 65535
# 모든(*) 사용자
* soft nproc 65535
* hard nproc 65535
'Work > Server' 카테고리의 다른 글
[Ansible] 오라클 설치, LAMP 스텍 구성 (0) | 2021.04.06 |
---|---|
[Linux Master] 리눅스 마스터 공부법, 기출문제, 요약집 (9) | 2021.03.16 |
[VM] Virual Machine 리눅스 설치 - Virualbox사용 (0) | 2021.03.14 |
[Window] 윈도우에서 우분투 설치 사용 (초간단 설치 WSL) (0) | 2021.03.14 |
[Linux] 커널 파라미터 수정 - TCP 성능향상 (0) | 2021.03.13 |