Quais parâmetros do kernel devem ser ajustados para consertar saturações de RX?

1

Eu tenho um servidor Centos 6 que lida com muito tráfego. Eu vejo RX overruns aumentando o tempo todo:

RX packets:11191345002 errors:0 dropped:0 overruns:35592596 frame:0
TX packets:15262461573 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:1871320014951 (1.7 TiB)  TX bytes:12673638434114 (11.5 TiB) 

De acordo com o link

Receiver overruns usually occur when packets come in faster than the kernel can service the last interrupt.

Quais parâmetros do kernel devem ser ajustados para corrigir esse problema?

    
por Fernando 12.03.2015 / 02:03

1 resposta

4

Sugiro usar um perfil tuned-adm adequado para sua configuração de E / S. Para essa configuração, parece que yum install tuned-utils e tuned-adm profile enterprise storage seriam úteis.

No lado do kernel, você pode definir buffers de envio / recebimento:

net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

Eu tentaria os primeiros ...

Se você ainda encontrar problemas, poderá verificar o buffer de anel do NIC com ethtool -g

Ring parameters for eth0:
Pre-set maximums:
RX:     4096
RX Mini:    0
RX Jumbo:   0
TX:     4096
Current hardware settings:
RX:     256
RX Mini:    0
RX Jumbo:   0
TX:     256

Você pode modificar o rx de 256 para 1024 com ethtool -G eth0 rx 1024 .

    
por 22.07.2015 / 15:13