Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ethernet – 如何在Linux服务器上增加NIC的环参数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我使用ethtool实用程序来增加其中一台服务器上的NIC的rx和tx值.我运行了以下命令: ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: 2040 RX Mini: 0 RX Jumbo: 8160 TX: 255 Current hardw
我使用ethtool实用程序来增加其中一台服务器上的NIC的rx和tx值.我运行了以下命令:
ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX:             2040
RX Mini:        0
RX Jumbo:       8160
TX:             255
Current hardware settings:
RX:             2040
RX Mini:        0
RX Jumbo:       0
TX:             255

我可以用某种方式更改卡上的预设最大值吗?或者它们是硬件限制.我们在服务器上的网卡是:
Broadcom NetXtreme II BCM5709 1000Base-T

解决方法

好吧,几年前在1020到2040年内核中修改pre-set maximum ring buffer figures on Broadcom bnx2 devices的例子,所以有可能.
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h
index efdfbc2..62ac83e 100644
--- a/drivers/net/bnx2.h
+++ b/drivers/net/bnx2.h
@@ -6502,8 +6502,8 @@ struct l2_fhdr {
 #define TX_DESC_CNT  (BCM_PAGE_SIZE / sizeof(struct tx_bd))
 #define MAX_TX_DESC_CNT (TX_DESC_CNT - 1)

-#define MAX_RX_RINGS        4
-#define MAX_RX_PG_RINGS        16
+#define MAX_RX_RINGS        8
+#define MAX_RX_PG_RINGS        32
 #define RX_DESC_CNT  (BCM_PAGE_SIZE / sizeof(struct rx_bd))
 #define MAX_RX_DESC_CNT (RX_DESC_CNT - 1)
 #define MAX_TOTAL_RX_DESC_CNT (MAX_RX_DESC_CNT * MAX_RX_RINGS)

你可以尝试其中一些;在某些内核/驱动程序构建之前,我已经看到MAX_RX_RINGS和MAX_RX_PG_RINGS值被推送到16和64.这些通常是Dell PowerEdge和HP ProLiant服务器的板载NIC,我行业中的一些人会破解这些驱动程序以使NIC更有用.但要知道,了解性能问题的位置可能是有意义的.还要知道其他NIC模型/驱动程序比Broadcom具有更大的环形缓冲区.

Intel:

# ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX:     4096
RX Mini:    0
RX Jumbo:   0
TX:     4096
Current hardware settings:
RX:     4096
RX Mini:    0
RX Jumbo:   0
TX:     2048

尝试分析您的应用程序并查看丢弃的位置.您没有指定操作系统分发版或版本,因此我无法提供过多的特定于发行版的信息.一个方便的便携式工具是dropwatch.您可以使用它来查看IP,链接或应用程序层是否发生了丢弃.

# dropwatch -l kas

1 drops at tcp_rcv_established+916 (0xffffffff814ae5c6)
2 drops at tcp_v4_rcv+aa (0xffffffff814b78aa)
2 drops at tcp_rcv_established+916 (0xffffffff814ae5c6)
1 drops at skb_copy_datagram_from_iovec+2fe (0xffffffff81455dde)
1 drops at skb_copy_datagram_from_iovec+2fe (0xffffffff81455dde)
2 drops at tcp_v4_rcv+aa (0xffffffff814b78aa)
2 drops at skb_copy_datagram_from_iovec+2fe (0xffffffff81455dde)
1 drops at tcp_v4_rcv+aa (0xffffffff814b78aa)
1 drops at tcp_v4_rcv+aa (0xffffffff814b78aa)
18 drops at unix_stream_connect+1dc (0xffffffff814f4cdc)
2 drops at tcp_v4_rcv+aa (0xffffffff814b78aa)

大佬总结

以上是大佬教程为你收集整理的ethernet – 如何在Linux服务器上增加NIC的环参数全部内容,希望文章能够帮你解决ethernet – 如何在Linux服务器上增加NIC的环参数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: