可以使用以下任何一种方法应用的txqueuelen设置之间有什么区别:
ifconfig eth4 txqueuelen 5000
ip link set eth4 txqueuelen 5000以及可应用于以下内容的tx环大小设置:
ethtool -G eth4 tx 4096这些与全局/proc/sys/net/core/wmem*设置有什么关系?
我上RHEL6了。
发布于 2014-12-19 18:11:40
net.core.wmem_default和wmem_max设置控制TX套接字缓冲区的初始和最大大小(以字节为单位)。虽然队列本身只是一个skb指针的链接列表,但是内核在从套接字缓冲区中添加和删除时也会跟踪skb's使用的总字节大小。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本身上的环形缓冲区的环条目数。
发布于 2014-09-23 01:02:38
我知道我应该给出一个冗长的解释,但是D赛蒙已经。简而言之,txqueuelen是缓冲区大小。所有网络数据包都适合这个缓冲区,而tx是进入所述缓冲区的IP数据包的数据包大小。如果我正确理解那篇文章的话。
https://unix.stackexchange.com/questions/113669
复制相似问题