Linux의 Sysctl 명령

Linux의 Sysctl 명령

2022-05-17 last update

6 minutes reading terminal kernel sysctl
Linux 시스템 관리자는 기본 커널의 동작을 수정해야 하는 경우가 있습니다.예를 들어 신기한 SysRq 키를 사용하거나 커널에서 받아들일 연결 수를 늘려야 할 수도 있습니다.내부 핵 파라미터는 내부 핵을 구축하거나 시스템이 안내하거나 운행할 때 설정할 수 있다.본고는 sysctl 명령을 실행할 때 내부 핵 파라미터를 보고 수정하는 방법을 설명한다.

sysctl을 사용하여 커널 매개 변수 보기

현재 핵 파라미터를 모두 보려면 sysctl 옵션을 사용하여 -a 명령을 호출하십시오:
sysctl -a
이것은 큰 목록을 출력합니다. 아래와 같이 보입니다. 각 줄에는 파라미터의 이름과 값이 포함됩니다.
abi.vsyscall32 = 1
debug.exception-trace = 1
debug.kprobes-optimization = 1
...
모든 사용자가 현재 핵 파라미터를 볼 수 있습니다.루트 사용자만 그 값을 수정할 수 있습니다.단일 매개 변수의 이름을 매개 변수로 sysctl 전달하여 그 값을 검사할 수 있습니다.예를 들어 현재의 swappiness 값을 검사하려면 다음과 같이 입력할 수 있다.
sysctl vm.swappiness
vm.swappiness = 60
swappiness는 리눅스 내부 핵 속성으로 시스템 사용swap space의 주파수를 정의한다.sysctl 명령은 /proc/sys 디렉터리에서 정보를 읽습니다./proc/sys는 현재 커널 매개 변수를 보고 설정하는 데 사용할 수 있는 파일 객체를 포함하는 가상 디렉토리입니다.또한 해당 파일의 컨텐트를 표시하여 매개변수 값을 볼 수도 있습니다.유일한 차이점은 파일의 표현 방식이다.예를 들어 sysctl vm.swappinesscat /proc/sys/vm/swappiness는 같은 출력을 제공할 것이다.sysctl를 사용하면 카탈로그 슬래시가 점으로 대체되고 proc.sys 섹션으로 가정됩니다.

sysctl을 사용하여 커널 매개 변수 수정

실행 시 커널 매개 변수를 설정하려면 sysctl 명령을 실행하고 그 다음에 매개 변수의 이름과 값을 따르십시오.
sysctl -w parameter=value
값에 공백이나 특수 문자가 포함되어 있으면 값을 더블 인덱스에 묶으십시오.동일한 명령에 여러 쌍parameter=value 쌍을 전달할 수도 있습니다.프로덕션 시스템에서 커널 설정을 변경할 때 커널을 불안정하게 만들 수 있으므로 주의해야 합니다reboot the system.
예를 들어 IPv4 패킷 전송을 활성화하려면 다음을 실행하십시오.
sysctl -w net.ipv4.ip_forward=1
변경 사항은 즉시 적용되지만 지속되지는 않습니다.시스템이 재부팅되면 기본값이 로드됩니다.파라미터를 영구적으로 설정하려면 설정/etc/sysctl.conf이나 /etc/sysctl.d 디렉터리에 있는 다른 프로필에 기록해야 한다.
sysctl -w net.ipv4.ip_forward=1 >> /etc/sysctl.conf
파라미터를 변경하는 또 다른 방법은 echo
명령은 디렉토리에 기록된 파일을 설정합니다/proc/sys.예를 들어, 위의 명령을 실행하는 대신
echo 1 > /proc/sys/net/ipv4/ip_forward
옵션 -p 을 사용할 수 있습니다. 이 옵션을 사용하면 설정 파일에서 설정을 불러올 수 있습니다.
sysctl -p /etc/sysctl.d/file_name.conf
주어진 파일이 없을 때 sysctl 읽기 /etc/sysctl.conf 를 할 수 있습니다.

결론

sysctl 명령을 사용하면 Linux 커널 매개 변수를 보고 변경할 수 있습니다.질문이 있으시면 언제든지 의견을 달아 주십시오.(adsbygoogle=window.adsbygoogle | |[]).추진({});