리눅스를 공부하면서 왜 쓰고 넘어가야 하는지 알기위해서 간단하게 공부해보겠습니다.
커널 파라미터 값의 정확한 정의는 인터넷에 많으니 간단하게 이해 하시기 위한 글입니다.
리눅스 운영체제는 시스템이 실행 중에 대부분의 커널 파라미터 값을 수정할 수 있습니다.
커널 파라미터 값을 변경한 뒤에도 시스템을 재부팅할 필요가 없습니다.
커널 관련 it-serial.tistory.com/40 참조하시면 됩니다.
○ 커널 파라미터란 ?
▷ 시스템을 관리하고 제어하는 어플리케이션
▷ 컴퓨터가 켜져서 종료될 때까지 메모리와 프로세스에게 값을 할당한다.
▷ 파라미터 값들은 단위가 바이트(byte) 입니다.
결론적으로 커널 파라미터 값을 설정하는 이유는 ?
▷ 커널 변수의 값을 제어하여 시스템을 최적화 할 수 있기 때문입니다.
설정 방법은 ?
▷ 설정은 vi /etc/sysctl.conf 명령어로 파일안에 값을 설정하면 됩니다. (영구적으로 적용 가능)
▷ sysctl 명령으로 커널 변수의 값을 제어 할 수도 있습니다.
▷ 실제로 파라미터 값들이 있는 곳은 /proc/sys 디렉토리에 존재합니다.
설정 후 적용법
▷ # /sbin/sysctl -p 명령어를 이용하여 저장하시면 됩니다.
커널 파라미터를 변경하거나 설정하는 자주 사용하는 예시
▷ 성능 : Network 성능 조율
파일시스템 성능 조율
▷ 서비스 : DB 설치시 커널 파라미터 설정
DB(예: oracle) 설치 시에 미리 파라미터 값을 설정 해놓는게 좋습니다.
보통 oracle에서 권장하는 값들이 있습니다.
그 값들 보다 더 높으면 굳이 변경하지 않으셔도 상관없습니다.
몇 가지 커널 파라미터들 있는지 보여드리겠습니다.
아래와 같은 값들이 있구나 정도 눈으로 보시면 좋을거 같습니다.
정말 깊게 알고싶고 궁금하시면 파리미터 정의는 인터넷 참조하시면 좋을거 같습니다.
▷ kernel.shmall
▷ kernel.shmmax
▷ kernel.shmmni
▷ kernel.sem= SEMMSL SEMMNS SEMMNI SEMOPM 값들이 존재
▷ fs.file-max
▷ fs.aio-max-nr
▷ net.ipv4.ip_local_port_range
▷ net.core.rmem_default
▷ net.core.rmem_max
▷ net.core.wmem_default
▷ net.core.wmem_max
○ 사용자 리소스 설정 (Shell Limit)
사용자 리소스 설정이란?
▷ 프로세스의 자원 한계를 설정하는 것
▷ 한계 설정시 soft, hard 2가지 방법으로 나누어져 있음
▷ soft : 새로운 프로그램을 생성하면 기본으로 사용되는 값
hard : soft제한값에서 최대 늘릴 수 있는 제한값
사용 이유는 ?
▷ 웹 서비스를 운영 할 때 동시 접속자가 많은 경우에 따라
웹 서비스 프로세스 수와 해당 프로세스가 처리하게 되는 파일 수를 조절 하기 위해
▷ 오라클의 경우 Linux 계정마다 실행되는 프로세스와 열린 파일의 수를 제한하는 것을 권장하기 때문
설정 방법은 ?
▷ ulimit 명령어와 옵션을 이용해 통해서 변경
▷ vi /etc/security/limits.conf 명령어로 설정 파일을 수정하여 변경
(설정 변경 후 재부팅을 하여서 적용시킴)
* ulimit 명령어 사용법은 궁금하시면 공부해보심을 추천드립니다.
limits.conf 설정 파일 수정 방법
간단히 오라클 설정할 때 예시로 들겠습니다.
▷파일안에 들어가 수정모드에서 작성할 때 기본 틀은
[제한을 할 대상] [Type=soft or hard] [제한 할 항목] [값] 이렇습니다.
# oracle soft nproc 2048 이런식으로 작성해주시면 됩니다.
오라클 프로그램 처음 사용 시 기본값으로 사용하는 프로세스 최대 2048로 제한
# oracle hard nproc 65536
오라클 프로그램 사용 시 프로세스 최대 65536로 제한
# oracle soft nofile 1024
오라클 프로그램 처음 사용 시 기본값으로 사용하는 파일은 최대 1024로 제한
# oracle hard nofile 65536
오라클 프로그램 사용 시 파일은 최대 65536로 제한
※ 참조 : 국가정보자원관리원 사이트에 일반적으로 값을 설정한 예시
cubrid soft nofile 300000
cubrid hard nofile 300000
cubrid soft nproc 300000
cubrid hard nproc 300000
▷ 제한 할 항목들
- data : 최대 데이터 크기(단위 : KB)
- fsize : 최대 파일 사이즈(KB)
- core : core 파일 사이즈(KB)
- nproc : 최대 프로세스 수
- nofile : 한번에 열 수 있는 최대 파일 수
- cpu : 최대 cpu점유 시간(분)
- maxlogins : 동시 로그인 최대 수
더 항목들이 많이 있습니다. 필요하시면 더 찾아보시면 좋을거 같습니다.
댓글