컴퓨터/노트북/인터넷
IT 컴퓨터 기기를 좋아하는 사람들의 모임방
단축키
Prev이전 문서
Next다음 문서
단축키
Prev이전 문서
Next다음 문서
socket(7) man페이지의 SORCVBUF(SNDBUF)
sysctl 변수명 :
net.core.rmemmax, net.core.wmemmax
대응하는 proc 파일 시스템 항목 :
/proc/sys/net/core/rmemmax , /proc/sys/net/core/wmemmax
TCP 소켓을 사용하는 경우 net.ipv4.tcprmem, net.ipv4.tcpwmem" 변수 참조
아래 설명하는 4개의 설정값은 바이트 단위로서 소켓이 전송받고 전송하는 버퍼와 버퍼 사이즈의 최고값 및 기본 설정값과 관계과 있다. 일반적으로 네트워크의 가장 핵심 옵션인 소켓 buffer-size의 최대값과 기본값은 매 64M 램당 65535의 적당한 값으로 설정하여 성능을 향상시킬 수 있다. 예컨대 256M의 경우 262140(256/64=4, 4*65535=262140)이 될 것이다.
레드햇 리눅스에서 변경할 buffer-size의 기본 설정값은 아래와 같다.
rmemmax "65535"
rmemdefault "65535"
wmemmax "65535"
wmemdefault "65535"
- 1단계
새로운 buffer-size 값을 적용하기 위해 아래와 같이 입력한다.
/etc/sysctl.conf"로 sysctl.conf 파일을 편집
#소켓 버퍼 사이즈의 전송하는 최대값과 기본값을 늘린다.
net.core.rmemmax = 262140
net.core.rmrmdefault = 262140
#소켓 버퍼 사이즈의 전송받는 최대값과 기본값을 늘린다.
net.core.wmemmax = 262140
net.core.wmemdefault = 262140
2기가 이상의 램을 가진 대형 시스템에서는 아래와 같이 설정한다.
net.core.rmemmax = 10485760
net.core.rmemdefault = 10485760
net.core.wmemmax = 10485760
net.core.wmemdefault = 10485760
- 2단계
일단 설정이 완료된 다음 변경된 내용을 적용하려면 네트워크를 다시 시작한다.
아래와 같이 입력하면 네트워크를 재시작하지 않고도 변경된 내용을 적용할 수 있다.
#sysctl -w net.core.rmemmax=262140
#sysctl -w net.core.rmemdefault=262140
#sysctl -w net.core.wmemmax=262140
#sysctl -w net.core.wmem_default=262140
출처 : Tong - ssabro님의 UNIX/Linux통