바로가기 메뉴
본문내용 바로가기
메인메뉴 바로가기



Customer Center

Notice · Security Issue · Account Guide · Global Traffic Test

HOME > Customer Center > Tech Note

기술노트

[Linux] Ulimit 수정
2018.05.04

ulimit 설정 관련


Ulimit 이란?


ulimit는 프로세스의 자원 한도를 설정하는 명령으로, soft한도와 hard한도 두가지가 있습니다.

sof t : 새로운 프로그램을 생성하면 기본으로 적용되는 한도

hard : 소프트한도에서 최대로 늘릴 수 있는 한도

설정 변경이 필요한 경우

웹서버, NFS 서버와 같이 openfile 이 많은 경우

oracle 설치시

ulimit [옵션] 값

-a : 모든 제한 사항을 보여줌.

-c : 최대 코어 파일 사이즈

-d : 프로세스 데이터 세그먼트의 최대 크기

-f : shell에 의해 만들어질 수 있는 파일의 최대 크기

-s : 최대 스택 크기

-p : 파이프 크기

-n : 오픈 파일의 최대수

-u : 오픈파일의 최대수

-v : 최대 가상메모리의 양

-S : soft 한도

-H : hard 한도

ulimit 설정 상태를 보는 명령어

Soft 설정 보기

# ulimit -a

core file size (blocks, -c) 0

data seg size (kbytes, -d) unlimited

scheduling priority (-e) 0

file size (blocks, -f) unlimited

pending signals (-i) 31160

max locked memory (kbytes, -l) 64

max memory size (kbytes, -m) unlimited

open files (-n) 1024

pipe size (512 bytes, -p) 8

POSIX message queues (bytes, -q) 819200

real-time priority (-r) 0

stack size (kbytes, -s) 8192

cpu time (seconds, -t) unlimited

max user processes (-u) 31160

virtual memory (kbytes, -v) unlimited

file locks (-x) unlimited

Hard 설정 보기

[root@controller ~]# ulimit -Ha

core file size (blocks, -c) unlimited

data seg size (kbytes, -d) unlimited

scheduling priority (-e) 0

file size (blocks, -f) unlimited

pending signals (-i) 31160

max locked memory (kbytes, -l) 64

max memory size (kbytes, -m) unlimited

open files (-n) 4096

pipe size (512 bytes, -p) 8

POSIX message queues (bytes, -q) 819200

real-time priority (-r) 0

stack size (kbytes, -s) unlimited

cpu time (seconds, -t) unlimited

max user processes (-u) 31160

virtual memory (kbytes, -v) unlimited

file locks (-x) unlimited

각 항목의 설명


core file size (blocks, -c) 0 : 코어파일의 최대크기

data seg size (kbytes, -d) unlimited : 프로세스의 데이터 세그먼트 최대크기

scheduling priority (-e) 0 : 쉘에서 생성되는 파일의 최대 크기

file size (blocks, -f) unlimited

pending signals (-i) 14943

max locked memory (kbytes, -l) 64

max memory size (kbytes, -m) unlimited : resident set size의 최대 크기(메모리 최대크기)

open files (-n) 1024 : 한 프로세스에서 열 수 있는 open file descriptor의 최대 숫자(열수 있는 최대 파일 수)

pipe size (512 bytes, -p) 8 : 512-바이트 블럭의 파이프 크기

POSIX message queues (bytes, -q) 819200

real-time priority (-r) 0

stack size (kbytes, -s) 10240

cpu time (seconds, -t) unlimited : 총 누적된 CPU 시간(초)

max user processes (-u) 1024 : 단일 유저가 사용가능한 프로세스의 최대 갯수

virtual memory (kbytes, -v) unlimited : 쉘에서 사용가능 한 가상 메모리의 최대 용량

file locks (-x) unlimited

변경 방법


1. ulimit 명령을 통한 변경


# ulimit -n 2048

# ulimit -u 4096


2. /etc/security/limits.conf 설정 파일 수정


daemon soft nproc 4096

daemon hard nproc 4096

#user #soft, hard 지정 # nproc - max number of processes # 한도 숫자 지정

# End of file


3. /etc/profile 수정


#ulimit setting

ulimit -u 8192 # max number of process 수정

ulimit -n 2048 # open files 값 수정

첨부파일