
sysctl
1. 개요
- 커널 매개변수(Kernel Parameter)의 값을 제어하여 시스템을 최적화할 수 있는 명령
- /proc/sys 디렉터리에 존재하는 매개변수를 제어하는 명령
- /proc/sys를 최상위 디렉터리(root)로 인식하고, 하위 디렉터리의 구분은 ‘.’으로 대체하여 명령을 수행
- sysctl 명령으로 커널 매개변수 값을 확인하거나 변경할 수 있지만, 재부팅하면 초기화됨
- 해당 설정을 재부팅시에도 계속해서 반영되게 하려면 /etc/sysctl.conf 파일에 등록
# sysctl 명령에서 커널 매개변수 호출 예
/proc/sys/net/ipv4/icmp_echo_ignore_all -> net.ipv4.icmp_echo_ignore_all
2. 관련 명령어 : sysctl
sysctl [option] 변수
sysctl [option] 변수=값
옵션
| 옵션 | 설명 |
| -a, -A --all |
커널 매개변수와 값을 모두 출력 |
| -p [파일명] --load=파일명 |
환경 변수 파일에 설정된 값을 읽어 들여서 반영하고 출력 파일명이 지정하지 않으면 /etc/sysctl.conf 파일이 적용됨 |
| -n --values |
특정 매개변수에 대한 값을 출력할때 사용 |
| -w 변수=값 --write |
매개 변수에 값을 설정 |
사용 예
- 적용된 커널 매개변수와 값을 전부 출력
sysctl -a
- /etc/sysctl.conf 파일의 내용을 읽어 들여서 반영하고 관련 내용을 출력
sysctl -p
- /proc/sys/net/ipv4/icmp_echo_ignore_all의 값을 출력
sysctl -n net.ipv4.icmp_echo_ignore_all
- /proc/sys/net/ipv4/icmp_echo_ignore_all의 값을 0으로 설정
sysctl -w net.ipv4.icmp_echo_ignore_all=0
- /etc/sysctl.conf를 비롯하여 커널 매개변수 연관된 환경 설정 파일을 읽어들여서 적용
sysctl --system
3. /etc/sysctl.conf
- sysctl 명령어에 의하여 읽어 들여지는 설정 파일로 이 파일에 등록되면 재부팅시에도 계속해서 반영됨
- # 및 ; 기호로 시작하는 줄은 주석 처리되고, 기본 형식은 ‘매개변수=값’
- 등록 후에 즉시 반영되게 하려면 ‘sysctl -p’명령을 실행하면 됨
# vi 편집기를 이용해서 설정하려면 커널 매개 변수를 등록하고 'sysctl -p'명령을 실행해서 즉시 적용시킴
[root@www ~]# vi /etc/sysctl.conf
[root@www ~]# tail -1 /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all=1
[root@www ~]# sysctl -p
net.ipv4.icmp_echo_ignore_all=1
💡 Rocky Linux8과 커널 매개변수 환경 설정 파일
RHEL6 이전 버전에서는 커널 매개변수 환경 설정 파일로 /etc/sysctl.conf만 사용함
RHEL7 버전부터는 /etc/sysctl.conf 이외에도 /usr/lib/sysctl.d/, /run/sysctl.d/, /etc/sysctl.d/, /usr/local/lib/sysctl.d/, /lib/sysctl.d/ 디렉터리 안의 conf 파일들도 사용
따라서 /etc/sysctl.conf 파일은 주로 사용자가 설정하는 커널 매개변수를 등록해서 사용하고 있음
'Linux' 카테고리의 다른 글
| [Linux] Backup 및 Restore 관련 명령어(2) - dump / restore (0) | 2025.11.12 |
|---|---|
| [Linux] Backup 및 Restore 관련 명령어(1) - cpio (0) | 2025.11.07 |
| [Linux] 시스템 보안 관리 - ssh(Secure Shell) (1) | 2025.10.16 |
| [Linux] 로그 관리 - logrotate (0) | 2025.10.13 |
| [Linux] 로그 관련 파일 (0) | 2025.10.07 |