강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

커널 파라이터값을 확인, 설정하는 sysctl 사용법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

커널 파라이터값을 확인, 설정하는 sysctl 사용법

 

 

 

 

앞에서 이미 sysctl을 어떻게 사용하고 왜 사용하는가? 그리고 그 결과가 시스템에 어떤 영향을 미치는가?에 대해서 이미 알아 보았다.

 

 

 

 

이번에는 sysctl에 대해서 본격적으로 정리해보도록 하자.

 

지금 설명하는 sysctl“system control”의 약어이다.

 

 

 

 

이 말뜻에서 그 의미를 알 수 있듯이 시스템의 성능 최적화와 보안최적화를 위하여 앞에서 보았던 1000개 이상의 시스템설정값들을 가장 알맞은 값으로 설정하기 위해 존재하는 것이다.

 

 

 

 

우리는 이것을 이번 장에서 하고자 하는 것이다.

 

 

 

 

 

 

sysctl은 리눅스 커널의 파라미터값을 설정하거나 확인하는 것으로서 구체적으로 말하자면 /proc/sys/파일시스템에 존재하는 파일들의 값을 변경할 수 있는 일종의 명령어이다.

 

 

 

 

/proc/sys파일시스템은 리눅스의 가상파일시스템으로서 디스크상에 물리적으로 존재하는 파일시스템이 아니라 메모리(MEMORY)에 존재하는 가상파일시스템으로서 리눅스의 현재 커널파라미터(kernel parameter)값들을 저장하고 있는 일종의 가상디렉토리이다.

 

 

 

 

sysctl명령어는 /proc/sys디렉토리에 존재하는 파일들의 값들을 변경함으로써 커널파라미터(kernel parameter)값을 변경시키게 된다.

 

 

 

 

그리고 sysctl에서 절대로 잊지 말아야 할 것은 sysctl로 커널파라미터(kernel parameter)의 값이 변경되면 시스템에 바로 적용이 된다는 점이다.

 

 

 

 

즉 현재 사용중인 커널의 파라미터를 변경하는 것이므로 이것은 너무나 당연한 얘기이다.

 

 

 

 

따라서 우리는 sysctl을 이용하여 커널파라미터(kernel parameter)를 변경할 때에 매우 신중해야 한다.

 

 

 

 



커널파라미터(kernel parameter)값을 변경하는 이유는 리눅스시스템 운용을 용도와 환경에 알맞게 사용하기 위함이다.

 

 

 

 

 따라서 대부분의 리눅스 시스템관리자들은 커널의 기본 파라미터값을 사용하기 보다는 최적의 (또는 적당한) 값으로 설정하여 최적의 환경에서 리눅스시스템이 운용될 수 있도록 커널파라미터(kernel parameter)값을 변경한다.

 

 

 

 

 

 

결론적으로 sysctl명령어는 커널의 파라미터값을 확인하고 값을 변경하기 위한 명령어이다.

 

 

 

 

 

 

그리고 무엇보다 명심해야 할 것은 sysctl로 리눅스 커널의 파라미터값을 변경한 후에는 현재 리눅스가 운용되고있는 상태에서는 그 값이 유효하지만 다시 부팅이 된 후에는 원래 값으로 되돌아 간다는 것이다.

 

 

 

 

따라서 재부팅후에도 변경된 값을 유지하려면 /etc/sysctl.conf파일에 별도 설정을 해야한다.

 

 

 

 

 /etc/sysctl.conf파일은 리눅스부팅과 함께 읽어들여 그 설정을 바로 적용한다.

 

 

 

 



아래는 리눅스 설치후의 /etc/sysctl.conf파일의 초기설정값들이다.

 

 

 

 

 

 

[root@sulinux ~]# cat /etc/sysctl.conf

# Kernel sysctl configuration file for Red Hat Linux

# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and

# sysctl.conf(5) for more details.

# Controls IP packet forwarding

net.ipv4.ip_forward = 0

# Controls source route verification

net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing

net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel

kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.

# Useful for debugging multi-threaded applications.

kernel.core_uses_pid = 1

[root@sulinux ~]#

 

 

 

 

대부분의 초보관리자들은 이 값을 초기설정값 그대로 사용하지만 서버성능 향상과 효율적인 운용이라는 부분에 눈을 뜨게되면 이 파일의 설정값들을 변경하려고 애를 쓰게 된다.

 

 

 

 

 

결론적으로 /etc/sysctl.conf파일에 설정된 커널파라미터(kernel parameter)의 설정값은 재부팅 후에도 그대로 적용되는 것이다.

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,791 개
  • 현재 접속자 :  176 명