1. 커널 파라미터 확인
- 커널 파라미터 확인은 sysctl -a 명령으로 할 수 있다. sysctl -a 명령의 경우 모든 파라미터들이 출력되기 때문에
원하는 파라미터 값을 찾으려면 sysctl -a | grep xxx 으로 원하는 값을 찾을 수 있다.
[root@localhost ~]# sysctl -a
bus.vmbus.vmbus_loglevel = 522125318
crypto.fips_enabled = 0
abi.vsyscall32 = 1
dev.parport.default.spintime = 500
dev.parport.default.timeslice = 200
dev.scsi.logging_level = 0
dev.raid.speed_limit_max = 200000
dev.raid.speed_limit_min = 1000
dev.hpet.max-user-freq = 64
dev.rtc.max-user-freq = 64
debug.exception-trace = 1
debug.kprobes-optimization = 1
net.unix.max_dgram_qlen = 10
net.token-ring.rif_timeout = 600000
net.ipv4.conf.seth0.promote_secondaries = 0
net.ipv4.conf.seth0.force_igmp_version = 0
net.ipv4.conf.seth0.disable_policy = 0
net.ipv4.conf.seth0.disable_xfrm = 0
~
fs.quota.reads = 0
fs.quota.drops = 0
fs.quota.lookups = 0
fs.suid_dumpable = 0
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_watches = 8192
fs.inotify.max_user_instances = 128
fs.aio-max-nr = 65536
fs.aio-nr = 0
fs.lease-break-time = 45
fs.dir-notify-enable = 1
fs.leases-enable = 1
fs.overflowgid = 65534
fs.overflowuid = 65534
fs.dentry-state = 31413 29432 45 0 0 0
fs.nr_open = 1048576
fs.file-max = 49308
fs.file-nr = 510 0 49308
fs.inode-state = 36128 8323 0 0 0 0 0
fs.inode-nr = 36128 8323
fs.binfmt_misc.status = enabled
[root@localhost ~]# sysctl -a | grep icmp_echo
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_echo_ignore_all = 0
[root@localhost ~]#
2. /proc 디렉토리에서 파라미터 값 수정
- 커널 파라미터 수정은 아래와 같이 /proc 디렉토리에서 해당 값을 바꿔 주거나 sysctl -w 명령으로 변경할 수 있다.
하지만, 이 두가지 방법은 시스템이 리부팅 될 경우 초기화 된다.
[root@localhost ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all
0
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
[root@localhost ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all
1
[root@localhost ~]# sysctl -a | grep icmp_echo
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_echo_ignore_all = 1
[root@localhost ~]#
[root@localhost ~]# sysctl -w net.ipv4.icmp_echo_ignore_all=0
net.ipv4.icmp_echo_ignore_all = 0
[root@localhost ~]# sysctl -a | grep icmp_echo
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_echo_ignore_all = 0
[root@localhost ~]#
3. sysctl.conf 파일에서 파라미터 수정
- /proc 디렉토리에서 변경하는 방법은 시스템 리부팅시 초기화 되기 때문에, 영구적으로 적용을 하기 위해서는 sysctl.conf 파일에 해당 파라미터 값을 추가해서 적용해야 한다.
기본추가되어 있는 파라미터 값 이외의 파라미터를 수정하기 위해서는 해당 파라미터 값을 파일 하단에 추가한다.
파라미터 종류와 현재 설정된 파라미터 값은 sysctl -a 로 확인 한다.
- /etc/sysctl.conf 파일 하단에 아래와 같은 형식으로 파라미터 값 추가.
net.core.wmem_default = 4194304
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 1024 65000
4. 수정된 사항 적용하기
- /etc/sysctl.conf 파일 수정후 적용하기 위해서는 아래와 같이 sysctl -p 옵션으로 명령을 실행한다.
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.core.wmem_default = 4194304
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 1024 65000
[root@localhost ~]#
값이 하나가 아니라 여러개라 하더라도 당황하지 말고 걍 추가하면 된다.
http://jmnote.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_kernel.sem_%EC%84%A4%EC%A0%95
kernel.sem을 찾아서 값을 수정한다.
#kernel.sem = 250 32000 32 128 kernel.sem = 1000 32000 100 512
이런 식으로 ㅋ
전체 내용은 아래 참조.
- 현재 설정값 확인방법 1
[root@localhost ~]# ipcs -l ------ Shared Memory Limits -------- max number of segments = 4096 max seg size (kbytes) = 4294967296 max total shared memory (kbytes) = 4294967296 min seg size (bytes) = 1 ------ Semaphore Limits -------- max number of arrays = 128 max semaphores per array = 250 max semaphores system wide = 32000 max ops per semop call = 32 semaphore max value = 32767 ------ Messages: Limits -------- max queues system wide = 2878 max size of message (bytes) = 8192 default max size of queue (bytes) = 65536
- 현재 설정값 확인방법 2
[root@localhost ~]# cat /proc/sys/kernel/sem
250 32000 32 128
- SEMMSL: 배열당 최대 세마포어 수 (max semaphores per array)
- SEMMNS: 시스템 전체 최대 세마포어 수 (max semaphores system wide)
- SEMOPM : 세마포어 호출당 최대 operation 수 (max ops per semop call)
- SEMMNI: 최대 배열 수(max number of arrays)[1]
- 부팅시 설정값 확인
[root@localhost ~]# grep kernel.sem /etc/sysctl.conf
kernel.sem = 250 32000 32 128
일시 변경
sysctl -w kernel.sem="1000 32000 100 512"
재부팅되면 /etc/sysctl.conf에 기록된 값으로 초기화된다.
영구 변경
sysctl.conf 파일을 수정한다.
vi /etc/sysctl.conf
kernel.sem을 찾아서 값을 수정한다.
#kernel.sem = 250 32000 32 128 kernel.sem = 1000 32000 100 512
재부팅한다.
'UNIX > Redhat' 카테고리의 다른 글
리눅스 WWN 보는..... 확실히 체크하는 방법 (0) | 2014.04.22 |
---|---|
[스크랩] 리눅스 날짜 기준으로 파일 삭제하기 (0) | 2014.03.28 |
ssh 접속 불가 문제 ( ssh_exchange_identification: Connection closed by remote host ) (0) | 2014.02.07 |
Network 대역폭 확인할 수 있는 가장 간단한 방법 (0) | 2014.01.07 |
[스크랩] 네트워크 bandwidth 제한 - ethtool , tc (0) | 2014.01.07 |