답변:
net.core.wmem_default
및 wmem_max
설정 바이트 TX 소켓 버퍼의 초기 및 최대 크기를 제어 할 수 있습니다. 큐 자체는 링크 된 skb
포인터 목록 일 뿐이지 만 , 커널 skb
은 소켓 버퍼에서 추가 및 제거 될 때 사용 하는 총 바이트 크기를 추적 합니다. wmem_default
sysctl을 새로운 소켓에 대한 디폴트의 초기 한도를 설정 ( net/core/sock.c:sock_init_data()
). 응용 프로그램은 소켓 버퍼의 크기를 늘릴 수 있으며 wmem_max
해당 기능의 상한입니다 ( net/core/sock.c:sock_setsockopt()
).
패킷이 소켓 버퍼에서 제거되고 커널 네트워크 스택을 통과하는 방법을 찾으면 인터페이스가 NIC 자체로로드되기를 기다리는 전송 큐에 배치됩니다. txqueuelen
바이 세트 ifconfig
또는 ip
명령 큐잉 훈련 용 커널 전송 큐 당 허용되는 프레임의 수이다 ( net/sched/sch_generic.c:pfifo_fast_enqueue()
).
마지막으로, ethtool -G
ioctl을 사용하여 NIC 자체의 링 버퍼에 대한 링 항목 수를 설정하십시오.
나는 긴 설명을해야한다는 것을 알고 있지만 , Seimon은 이미있다 . 간단히 말해서 txqueuelen
버퍼 크기입니다. 모든 네트워크 패킷은이 버퍼에 tx
들어가는 반면, 상기 버퍼에 들어가는 IP 패킷의 패킷 크기입니다. 그 게시물을 올바르게 이해하면입니다.