네트워크 인터페이스 통계: tx_dropped 값은 항상 0입니다.

네트워크 인터페이스 통계: tx_dropped 값은 항상 0입니다.

/sys/class/net/폴더에 있는 네트워크 인터페이스 메트릭을 수집하고 표시하는 프로그램을 작성 중입니다 .

값의 의미를 읽었을 때 rx_dropped이 기사의 첫 번째 답변에 지정된 것과 같이 이 값에 대한 가능한 이유가 많이 있다는 결론에 도달했습니다.

https://serverfault.com/questions/528290/ifconfig-eth0-rx-dropped-packets

tx_dropped그러나 이 값에 대한 정보를 찾을 수 없습니다 . 첫째, 이는 승인되지 않아 대기열에서 제거되는 TCP 세그먼트가 전송되는 것과 관련이 있다고 생각합니다.

그러나 이것을 실행 중인데 curl 8.8.7.5결과적으로 Wireshark에서 볼 수 있는 재전송이 발생하지만 tx_dropped 값은 여전히 ​​0입니다.

사실 프로그램을 실행 하는 내내 tx_dropped.0

어떤 상황에서 증가할까요 tx_dropped?

답변1

tx_dropped( 및 ) 카운터 rx_dropped는 드라이버별로 다르므로 사용 중인 드라이버의 문서나 코드 소스를 확인하여 이러한 필드가 정확히 무엇을 의미하는지 파악해야 합니다.

예를 들어, tg310G Intel NIC용 드라이버에는 tx_dropped카운터를 증가시키는 다음 코드 경로만 있습니다.https://github.com/torvalds/linux/blob/fb054096aea0576f0c0a61c598e5e9676443ee86/drivers/net/ethernet/broadcom/tg3.c#L8139

최종 통화의 대부분이 goto drop;TSO 및 GSO 오프로딩과 관련되거나 체크섬 실패로 인해 VLAN 태그가 지정된 패킷을 무시하는 부분이 어디일지 생각하는 것 같습니다. 그렇지 않으면 DMA 메모리 할당 실패만으로 tx_dropped증가가 발생합니다.

증가가 보이면 tx_droppedNIC의 모든 오프로드 기능을 비활성화하여 도움이 되는지 확인하는 것이 좋습니다.

관련 정보