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

커널의 특정 파라미터값 변경하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

커널의 특정 파라미터값 변경하기

 

 

 

 sysctl을 이용하여 커널 파라미터값을 확인하는 여러 가지 방법들에 대해서알아 보았습니다.

 

 

 

 이제 이렇게 확인한 파라미터값들을 변경하는 방법에 대해서 알아 보겠습니다.

 

 

 

 다음은 "sysctl -a"로 확인한 각각의 파라미터값들을 변경하는 예를 간단히 보겠습니다.

 

 

 

 커널 파라미터의 값을 설정하기 위해서는 다음과 같이 -w옵션을 사용하면 됩니다.

 

 

 

 

 

먼저,kernel.sysrq라는 파라미터 값의 의미는 리눅스의 매직키를 사용 가능하도록 설정하는 것입니다.

 

 

 

 , 이 파라미터의 값이 1이면 매직키를 사용 가능하도록 설정한 것이고, 0이면 사용하지 못하도록 한 것입니다.

 

 

 

 kernel.sysrq라는 파라미터의 현재 값을 확인한 다음 이 값을 1로 설정해 보겠습니다.

 

 

 

 다음 예를 보십시오.

 

 

 

 

[root@su250 ~]# sysctl -a | grep kernel.sysrq

kernel.sysrq = 0

[root@su250 ~]#

[root@su250 ~]# sysctl -w kernel.sysrq=1

kernel.sysrq = 1

[root@su250 ~]#

[root@su250 ~]# sysctl -a | grep kernel.sysrq

kernel.sysrq = 1

[root@su250 ~]#

 

 

 

 

위의 예에서 kernel.sysrq라는 커널 파라미터의 값이 현재 0으로 설정되어 있음을 확인하였고 그 다음 kernel.sysrq라는 파라미터의 값을 1로 설정하였습니다.

 

 

 

 그런 다음  kernel.sysrq 파라미터값을 다시 확인 하였습니다.

 

 

 

 

 

여기서 무엇보다 중요한 것은 이렇게 kernel.sysrq라는 파라미터값을 바꾸었을 때에 시스템의 물리적인 위치의 어떤 파일의 값이 바뀌게 되는가를 아는 것이 중요합니다.

 

 

 

 , 위와 같이 kernel.sysrq라는 파라미터값이 바뀌게 되면 “/proc/sys/kernel/sysrq”파일의 값이 1로 바뀌게 됩니다.

 

 

 

 다음을 보십시오.

 

[root@su250 ~]# cat /proc/sys/kernel/sysrq

1

[root@su250 ~]#

 

 

 

 

항상 필자가 강조하는 것이기는 하지만, 우리가 사용하는 모든 명령의 실행결과는 시스템에 직접적인 영향을 주게 됩니다.

 

 

 

 , 시스템의 물리적인 위치의 값이 바뀌거나 설정이 바뀌게 된다는 것을 말합니다.

 

 

 

 이번 예와 같이 sysctl이라는 명령어로 특정 커널 파라미터 값이 바뀌었을 때에 시스템의 어떤 위치(파일 등)에 물리적인 변화가 생겼는가를 정확하게 아는 것이 무엇보다 중요하다는 점입니다.

 

 

 

 

 강의를 하거나 필자가 집필한 책 속에서 항상 필자가 강조하는 부분이기도 합니다.

 

 

 

 

 

그리고 다음은 fs.file-max라는 파라미터의 값을 확인하고 이 값을 변경하는 예입니다.

 

 

 

 fs.file-max라는 파라미터값의 의미는 커널이 최대로 핸들링 할 수 있는 파일의 개수입니다.

 

 

 

 , fs.file-max파라미터의 값에 저장되어 있는 숫자만큼의 파일만을 커널은 핸들링 할 수 있습니다.

 

 

 

 다음 예를 보십시오.

 

 

 

 

[root@su250 ~]# sysctl -a | grep fs.file-max

fs.file-max = 102016

[root@su250 ~]#

[root@su250 ~]# sysctl -w fs.file-max=200000

fs.file-max = 200000

[root@su250 ~]#

[root@su250 ~]# sysctl -a | grep fs.file-max

fs.file-max = 200000

[root@su250 ~]#

 

 

 

 

위의 예에서 첫번째 fs.file-max의 값은 원래 102016으로 설정되어 있었습니다.

 

 

 

 이 값을 sysctl을 이용하여 200000으로 재설정하였습니다.

 

 

 

 그런 다음 다시 fs.file-max파라미터의 값을 확인한 것입니다.

 

 

 

 

 

그리고 이 파라미터의 값을 물리적으로 저장하고 있는 파일은 다음과 같습니다.

 

 

 

 기억해 두십시오.

 

 

 

[root@su250 ~]# cat /proc/sys/fs/file-max

200000

[root@su250 ~]#

 

 

 

이와 같이 sysctl사용시 -w옵션을 사용하면 커널파라미터의 값을 변경할 수 있으며 그 값의 변화된 결과는 /proc/sys 디렉토리에 존재하는 해당 파일에 기록됩니다.

 

 

 

 이 관계를 꼭 기억해 두십시오.

 

 

 

이와 같이 위의 예와 같이 특정 파라미터값을 변경하고자 한다면 각각의 파라미터가 의미하는 것을 정확하게 알아야 합니다.

 

 

 

 위에서 예로 든 몇 개의 예는 시스템관리자들이 가장 흔히 설정하는 값들이지만 앞에서 말씀 드렸듯이 /proc/sys에는 약 800개 의 커널 파라미터를 설정하는 파일들이 존재합니다.

 

 

 

 이들의 설정을 정확하게 하려면 각각의 파일들이 의미하는 바를 모르른다면 불가능하며 또한 커널에 바로 적용이 되므로 함부로 설정하여 잘못되었을 경우에는 치명적인 문제를 야기할 수도 있습니다.

 

 

 

 

 

따라서 위와 같이 커널의 파라미터 값을 변경하실 때에는 반드시 정확한 의미와 변경후의 효과에 대해서도 충분히 숙지한 후에 설정하시기 바랍니다.

 

 

 

 참고로 여기서 설명하고 있는 커널파라미터의 각각의 의미들에 대한  자세한 설명은 이 웹사이트(www.linux.co.kr)“/proc파일시스템강좌를 검색해서 찾아보시기 바랍니다.

 

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,041 명
  • 현재 강좌수 :  35,855 개
  • 현재 접속자 :  114 명