리눅스 소켓 메모리 크기 변경

1 개요[ | ]

  • 소켓 메모리 크기를 변경할 수 있다.
  • TCP 소켓 메모리 크기의 초기값은 10000000 바이트이다.
  • TCP 외의 소켓 메모리 크기의 초기값이 32MB이다.

2 확인[ | ]

root@zetawiki:~# sysctl -a | egrep 'mem_(max|default)|tcp_.*mem'
net.core.optmem_max = 20480
net.core.rmem_default = 212992
net.core.rmem_max = 212992
net.core.wmem_default = 212992
net.core.wmem_max = 212992
net.ipv4.tcp_mem = 45915	61222	91830
net.ipv4.tcp_rmem = 4096	87380	6291456
net.ipv4.tcp_wmem = 4096	16384	4194304

3 설정파일 수정[ | ]

  • /etc/sysctl.conf를 편집한다.
  • 편집한 내용은 재부팅시에 적용된다.
  • 기존 설정이 있다면 삭제(또는 주석처리)하고 아래에 새 설정값을 추가하자.
root@zetawiki:~# vi /etc/sysctl.conf
#net.ipv4.tcp_rmem = 10000000 10000000 10000000
#net.ipv4.tcp_wmem = 10000000 10000000 10000000
#net.ipv4.tcp_mem = 10000000 10000000 10000000

#net.core.rmem_max = 33554432
#net.core.wmem_max = 33554432
#net.core.rmem_default = 33554432
#net.core.wmem_default = 33554432
#net.core.optmem_max = 33554432

net.ipv4.tcp_rmem = 10240 87380 67108864
net.ipv4.tcp_wmem = 10240 87380 67108864
net.ipv4.tcp_mem = 10240 87380 67108864

net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.rmem_default = 67108864
net.core.wmem_default = 67108864
net.core.optmem_max = 67108864

4 적용[ | ]

  • 편집한 내용을 바로 적용해보자.
  • /etc/sysctl.conf 파일 내용도 출력된다...
root@zetawiki:~# sysctl -p
net.ipv4.tcp_rmem = 10240 87380 67108864
net.ipv4.tcp_wmem = 10240 87380 67108864
net.ipv4.tcp_mem = 10240 87380 67108864
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.rmem_default = 67108864
net.core.wmem_default = 67108864
net.core.optmem_max = 67108864

5 확인 2[ | ]

root@zetawiki:~# sysctl -a | egrep 'mem_(max|default)|tcp_.*mem'
net.core.optmem_max = 67108864
net.core.rmem_default = 67108864
net.core.rmem_max = 67108864
net.core.wmem_default = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_mem = 10240	87380	67108864
net.ipv4.tcp_rmem = 10240	87380	67108864
net.ipv4.tcp_wmem = 10240	87380	67108864

6 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}