ulimit
ulimit [옵션] 값
-a: 모든 제한 사항을 보여준다.
-c: 최대 코어 파일 사이즈
-d: 프로세스 데이터 세그먼트의 최대 크기
-f: shell에 의해 만들어질 수 있는 파일의 최대 크기
-s: 최대 스택 크기
-p: 파이프 크기
-n: 오픈 파일의 최대수
-u: 프로세스 최대수
-v: 최대 가상메모리의 량
========================
# ulimit -Sa
core file size (blocks) 0 # 코어파일의 최대크기
data seg size (kbytes) unlimited # 프로세스의 데이타 세그먼트 최대크기
file size (blocks) unlimited # 쉘에서 생성되는 파일일 최대크기
max locked memory (kbytes) unlimited
max memory size (kbytes) unlimited # resident set size의 최대크기(메모리 최대크기)
open files 1024 # open file descriptors의 최대 숫자(열수있는 최대파일수)
# 하나의 프로 세스당 최대 열수 있는 화일의 개수
pipe size (512 bytes) 8 # 512-바이트 블락의 파이프 크기
stack size (kbytes) 8192 # 프로세스의 스택 최대크기
cpu time (seconds) unlimited # 총 누적된 CPU시간(초)
max user processes 1024 # 단일 유저가 사용가능한 프로세스의 최대갯수
# virtual memory (kbytes)
unlimited # 쉘에서 사용가능한 가상 메모리의 최대용량
=====================
Unlimit *하드 한도
]# ulimit -Ha
core file size (blocks) unlimited
data seg size (kbytes) unlimited
file size (blocks) unlimited
max locked memory (kbytes) unlimited
max memory size (kbytes) unlimited
open files 1024
pipe size (512 bytes) 8
stack size (kbytes) unlimited
cpu time (seconds) unlimited
max user processes 1024
virtual memory (kbytes) unlimited
이 값은 process 의 resident set size를 제한하는 값이다.
Kernel 에 의해 강제적으로 제한되는 값이 아니며 따라서 process 로 하여금 필요로 하는 만큼의 memory를 사용하게 하기 때문에 Soft limit을 초과하더라도 해당 process를 죽이지 않는다. 단지 전체 시스템의 paging space 가 부족해지는 경우 kernel 이 process 들을 죽이기 시작하며 이때 SIGDANGER signal 을 먼저 보내게 된다. ( init 이 이 signal을 받아서 console 에 warning message를 뿌려주게 된다.) 보통 시스템의 paging space 가 2MB 정도 남았을 때 이러한 현상이 발생하며 이때부터 virtual memory를 사용한 process 중 가장 최근 것부터 죽이기 시작한다.
ulimit [옵션] 값
-a: 모든 제한 사항을 보여준다.
-c: 최대 코어 파일 사이즈
-d: 프로세스 데이터 세그먼트의 최대 크기
-f: shell에 의해 만들어질 수 있는 파일의 최대 크기
-s: 최대 스택 크기
-p: 파이프 크기
-n: 오픈 파일의 최대수
-u: 프로세스 최대수
-v: 최대 가상메모리의 량
========================
# ulimit -Sa
core file size (blocks) 0 # 코어파일의 최대크기
data seg size (kbytes) unlimited # 프로세스의 데이타 세그먼트 최대크기
file size (blocks) unlimited # 쉘에서 생성되는 파일일 최대크기
max locked memory (kbytes) unlimited
max memory size (kbytes) unlimited # resident set size의 최대크기(메모리 최대크기)
open files 1024 # open file descriptors의 최대 숫자(열수있는 최대파일수)
# 하나의 프로 세스당 최대 열수 있는 화일의 개수
pipe size (512 bytes) 8 # 512-바이트 블락의 파이프 크기
stack size (kbytes) 8192 # 프로세스의 스택 최대크기
cpu time (seconds) unlimited # 총 누적된 CPU시간(초)
max user processes 1024 # 단일 유저가 사용가능한 프로세스의 최대갯수
# virtual memory (kbytes)
unlimited # 쉘에서 사용가능한 가상 메모리의 최대용량
=====================
Unlimit *하드 한도
]# ulimit -Ha
core file size (blocks) unlimited
data seg size (kbytes) unlimited
file size (blocks) unlimited
max locked memory (kbytes) unlimited
max memory size (kbytes) unlimited
open files 1024
pipe size (512 bytes) 8
stack size (kbytes) unlimited
cpu time (seconds) unlimited
max user processes 1024
virtual memory (kbytes) unlimited
이 값은 process 의 resident set size를 제한하는 값이다.
Kernel 에 의해 강제적으로 제한되는 값이 아니며 따라서 process 로 하여금 필요로 하는 만큼의 memory를 사용하게 하기 때문에 Soft limit을 초과하더라도 해당 process를 죽이지 않는다. 단지 전체 시스템의 paging space 가 부족해지는 경우 kernel 이 process 들을 죽이기 시작하며 이때 SIGDANGER signal 을 먼저 보내게 된다. ( init 이 이 signal을 받아서 console 에 warning message를 뿌려주게 된다.) 보통 시스템의 paging space 가 2MB 정도 남았을 때 이러한 현상이 발생하며 이때부터 virtual memory를 사용한 process 중 가장 최근 것부터 죽이기 시작한다.