38. Change Kernel Runtime Parameters Persistent and Non Persistent
Linux 커널 런타임 파라미터를 임시(비영구적)와 영구적으로 수정하는 방법을 배웁니다. 커널 런타임 파라미터는 메모리 관리, 네트워킹, 파일시스템 동작 등 Linux 커널의 핵심 측면을 제어합니다.
현재 커널 파라미터 확인
모든 활성 설정 확인:
$ sudo sysctl -a
net.ipv6.conf.default.addr_gen_mode = 0
vm.admin_reserve_kbytes = 8192
...
파라미터 네이밍 규칙:
net.으로 시작 → 네트워킹 관련vm.으로 시작 → 가상 메모리 관련fs.으로 시작 → 파일시스템 설정
특정 커널 파라미터 조정 (비영구적)
net.ipv6.conf.default.disable_ipv6 파라미터 예시:
- 값
0= IPv6 활성화 - 값
1= IPv6 비활성화 (for disable flag)
IPv6 임시 비활성화:
$ sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6 = 1
업데이트된 설정 확인:
$ sudo sysctl net.ipv6.conf.default.disable_ipv6
net.ipv6.conf.default.disable_ipv6 = 1
비영구적 변경은 재부팅 후 기본값으로 되돌아갑니다.
변경을 영구적으로 적용
영구적 변경은 /etc/sysctl.d 디렉토리에 .conf 확장자를 가진 설정 파일을 추가해야 합니다. 이 파일들은 시스템 부팅 시 자동으로 적용됩니다.
$ man sysctl.d # 매뉴얼 확인
$ ls /etc/sysctl.d # 예제 파일 확인
특정 파라미터 필터링
메모리 관련 설정(vm. 프리픽스)만 확인:
$ sysctl -a | grep vm
vm.panic_on_oom = 0
vm.swappiness = 60
vm.swappiness (현재 60): 스왑 동작을 제어합니다.
- 높은 값 → 스왑 증가
- 낮은 값 → 스왑 감소
vm.swappiness 영구 변경
vm.swappiness를 20으로 영구 변경하는 단계:
-
/etc/sysctl.d에 설정 파일 생성:$ sudo vim /etc/sysctl.d/swap-less.conf -
다음 내용 추가:
vm.swappiness=20 -
파일 저장. 현재 세션에서 즉시 적용하려면:
$ sudo sysctl -p /etc/sysctl.d/swap-less.conf
/etc/sysctl.conf 직접 편집도 가능하지만, 시스템 업그레이드 시 덮어쓰일 수 있습니다. 영구 커스터마이징에는 /etc/sysctl.d 사용을 권장합니다.요약
| 설정 범위 | 변경 방법 | 예시 명령어 |
|---|---|---|
| 비영구적 | 임시 설정 변경 | sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 |
| 영구적 | /etc/sysctl.d에 conf 파일 생성 | sudo vim /etc/sysctl.d/swap-less.conf (내용: vm.swappiness=20) |