Users Guide

NPAR – 配置和使用案例示例 NetXtreme-E 用户手册
2018 2 26 • NetXtreme-E-UG100 65
降低 NIC 内存消耗注意事项
由于此 NIC 支持较快的链路速度,因此接收缓冲区的默认数量更大。当链路速度较快时,在给定的时间间隔内
到达的数据包更多,如果主机系统在处理接收中断情况时有延迟,那么只要所有可用接收缓冲区都在使用,
NIC 将必须丢失数据包。
选择接收缓冲区默认值时要使其在典型配置下工作良好。但是,如果系统中有多个 NIC、多个 NIC 上已启用
NPAR 或只有少量 RAM,则您可参阅设备管理器代码 12 黄色叹号了解 NIC 相关信息。代码 12 表示:由于
没有足够资源,驱动程序加载失败。在此情况下,资源是特定类型的内核内存,被称为非分页内存池 (NPP)
内存。
如果您得到代码 12 或因为其他原因想降低 NIC 消耗 NPP 内存量:
减少 RSS 队列的数量,从默认的 8 降至 4 2。每个 RSS 列都被分配一组自己的接收缓冲区,所以减
RSS 队列的数量将减少所分配的 NPP 内存。减少 RSS 队列的数量可能会影响性能,因为参与处理该
NIC 的接收数据包的内核数量变少。应该监控每个处理器的 CPU 利用率,以确保在此更改后没有变
的处理器。
通过减少所分配接收缓冲区的数量降低分配的内存。默认值 0 示驱动程序应自动确定接收缓冲区数量。
对于典型配置,设置为 0(自动)将为每个队列映射到 XXXX 接收缓冲区。您可以选择一个更小的值,
15001000 500。(该值必须在 500 15000 之间,且为 500 的倍数。)如上所述,接收缓冲区数
量变少将提高丢包的风险,因而影响数据包发送并提高吞吐量。
参数“RSS 队列的最大数量接收缓冲区(0 = 自动),可通过设备管理
中每个 NIC 高级属性选项卡进行
修改。如果您想同时修改多个 NIC,使用 Set-NetAdapterAdvancedProperty PowerShell cmdlet 操作更快。
例如,要为系统中所有名称以“SI开头的 NIC 分配 2 RSS 队列,请运行以下命令:
SetNetAdapterAdvancedPropertySl*‐RegistryKeyword*NumRSSQueues‐RegistryValue2
同样,要将接收缓冲区的数量设置为 1500,请运行以下命令:
SetNetAdapterAdvancedPropertySl*‐RegistryKeyword*ReceiveBuffers‐RegistryValue1500
请参阅 https://blogs.technet.microsoft.com/wincat/2012/08/27/using-powershell-for-nic-configuration-tasks/
以了解使用 PowerShell 修改 NIC 属性的概述。