서버 & 클라우드/리눅스

커널 파리미터 설정, 유저 리소스 제한

Manly 2022. 9. 24. 13:48
반응형

커널 파라미터 (값들의 단위는 byte)

 - 시스템을 관리, 제어하는 애플리케이션

 - 컴퓨터가 켜지고 꺼질때까지 메모리와 프로세스에게 값을 할당

 

 -> 커널 변수의 값을 제어해 시스템을 최적화하기 위해 커널 파라미터를 설정

 

1.   vi /etc/sysctl.conf 명령어로 파일의 값 설정 (실제로 파라미터 값들은 /proc/sys 디렉토리에 존재)

2.   /sbin/sysctl -p 명령어로 변경사항 적용

 

커널 변수값

SHMMAX 공유 메모리 세그먼트의 최대 크기(바이트) 최소 1kB, 기본값은 더 크기 때문에 더 많이 필요하다.
SHMMIN 공유 메모리 세그먼트의 최소 크기(바이트) 1
SHMALL 사용 가능한 공유 메모리의 총 양(바이트 또는 페이지) 바이트인 경우 SHMMAX와 동일; 페이지인 경우 ceil(SHMMAX/PAGE_SIZE), 다른 응용 프로그램에서도 쓴다면 더 많이.
SHMSEG 프로세스당 공유 메모리 세그먼트의 최대 수 1개 세그먼트만 필요하지만 기본값이 훨씬 큼
SHMMNI 시스템 차원(system-wide)의 공유 메모리 세그먼트의 최대 수 SHMSEG와 동량 외 다른 애플리케이션의 여유분
SEMMNI 세마포어 식별자의 최대 수(예: 세트) 최소한 ceil((max_connections + autovacuum_max_workers + max_wal_senders + max_worker_processes + 5) / 16), 다른 응용 프로그램에서도 쓴다면 더 많이.
SEMMNS 시스템 차원(system-wide)의 세마포어 최대 수 ceil((max_connections + autovacuum_max_workers + max_wal_senders + max_worker_processes + 5) / 16) * 17 그 외 다른 애플리케이션의 여유분
SEMMSL 세트별 세마포어 최대 수 최소한 17
SEMMAP 세마포어 맵에서 항목 수 텍스트 참조
SEMVMX 세마포어 최대 값 최소한 1000 (기본값은 대체로 32767; 필요한 경우 외에는 변경하지 말 것)

 

 

사용자 리소스 제한

 - 프로세스의 자원 한계 설정

 - soft : 생성하면 기본으로 사용되는 값

 - hard : soft 제한값에서 최대로 늘릴 수 있는 제한값

 

-> 오라클 Linux 계정마다 실행되는 프로세스, 한번에 열수 있는 파일의 수 등을 제한해 

서버 리소스를 유저 혹은 프로그램이 점유하는 양을 조절해 서버가 다운되지 않게 하기위해서 리소스 제한을 한다.

 

1. vi /etc/security/limits.conf 명령어로 파일의 값 설정

 - 이때

data : 최대 데이트 크기 (KB)

fsize : 최대 파일 사이즈 (KB)

core : core 파일 사이즈 (KB)

nproc : 최대 프로세스 수

nofile : 한번에 열 수 있는 파일의 수

cpu : 최대 cpu 점유 시간 (분)

maxlogins : 동시 로그인 가능 수

stack : 최대 스택 사이즈 (KB)

memlock : 최대 locked-in-memory 주소 공간 (KB)

priority : 사용자 프로세스가 실행되는 우선순위

반응형