nic 의 ethtool 에서 rx_no_buffer_count: 는 어떤 경우에 올라가나요?

trymp의 이미지

NIC 를 ethtool 로 보면 rx_no_buffer_count 이 값이 올라가는 경우가 있는데요

여러가지 애러 사유가 있지만 rx_no_buffer_count 이 어떤 사유로 count 가 올라가는지 궁금합니다.

찾아봐도 쉽지가 않네요.

고수님들의 조언 부탁드립니다.

shint의 이미지

//예상 원인
- 보통 버퍼가 가득해서. 발생한다고 하는거 같네요.
- 네트워크 지연?
- CPU 지연
- 메모리 할당 지연

rx_no_buffer_count - 구글 검색

//
[E1000-devel] rx_no_buffer_count query
https://sourceforge.net/p/e1000/mailman/message/22640719/
ethtool -G ethx rx 을 사용하여 rx 설명자를 증가시킬 수 있지만 임시 버퍼링을 제공할 뿐이며,
로드 상태가 일정하면 버퍼링에 오버플로가 발생합니다.

//
Re: [E1000-devel] rx_no_buffer_count errors
https://sourceforge.net/p/e1000/mailman/message/20501402/
프로파일 결과 ipt_do_table이 범인이라는 것을 알 수 있습니다.
iptables 규칙(즉, iptables -F)을 플러시하면 문제가 사라집니다.
rx_no_buffer_count 오류가 없습니다. 그러나 여전히 첫 번째 위치에서 ipt_do_table.

//
Linux networking stack from the ground up, part 2
https://www.privateinternetaccess.com/blog/2016/01/linux-networking-stack-from-the-ground-up-part-2/

rx_no_buffer_count 통계량(RNBC라고도 함)은 패킷을 DMA할 곳이 없음을 나타냅니다.
아래에 설명된 rx 링을 늘리면 시간이 지남에 따라 표시되는 rx_no_buffer_count 수를 줄이는 데 도움이 될 수 있습니다.
rx_missed_errors 통계량은 rx_no_buffer_count가 패킷이 삭제될 만큼 충분히 발생했음을 나타냅니다.
rx 대기열 크기를 늘리면 이 수를 줄이는 데 도움이 될 수 있습니다.

//
Go with the Flow Control
https://communities.intel.com/community/tech/wired/blog/2012/01/13/go-with-the-flow-control

(패킷보다 XOFF가 많아짐) rx_no_buffer_count 및 rx_missed_error가 이를 확인합니다.

//
Excessive RX Errors / RX Drops found on interface
https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk61922

RX Error counters are incremented by frames received by the NIC that are corrupted in some way:

Possible duplex mismatch on both interfaces of the link.
Faulty NIC, cable, physical media issue.
CRC failures.
In addition, NIC speed / duplex mis-match with the connecting port on the switch/router might be the cause.

/proc/net/soft_net と net.core.netdev_budget
https://github.com/hiboma/hiboma/blob/master/kernel/net/net-backlog3.md

rx_no_buffer_count = rnbc를 카운트하는 것은 하드웨어(Ethernet 카드?)이므로, 실장이 없다.레지스터에서 읽고 있는 멍청한 코드는 있다

Troubleshoot Interface 2
http://todorovicmarko.blogspot.com/2014/02/troubleshootinterfacecp2.html

rx_no_buffer_countCPU가 하드웨어에 대한 새 버퍼를 충분히 빠르게 유지할 수 없는 경우
버스 대역폭이 부족하고 호스트가 너무 사용 중임

rx_missed_errors 버스 대역폭이 부족합니다. 호스트가 너무 사용 중입니다.

인텔 네트워크 카드 상태 통계
https://lp007819.wordpress.com/2013/05/23/intel%E7%BD%91%E5%8D%A1%E7%8A%B6%E6%80%81%E7%BB%9F%E8%AE%A1%E7%96%91%E9%97%AE/
https://translate.google.co.kr/translate?sl=auto&tl=ko&js=y&prev=_t&hl=ko&ie=UTF-8&u=https%3A%2F%2Flp007819.wordpress.com%2F2013%2F05%2F23%2Fintel%25E7%25BD%2591%25E5%258D%25A1%25E7%258A%25B6%25E6%2580%2581%25E7%25BB%259F%25E8%25AE%25A1%25E7%2596%2591%25E9%2597%25AE%2F&edit-text=

Suricata
Extreme Performance Tuning
https://suricon.net/wp-content/uploads/2016/11/SuriCon2016_MichalPurzynski_PeterManev.pdf

Use a local CPU cache L3 as a data bus :-)

//
Troubleshooting Note : FortiGate interface error counters
http://kb.fortinet.com/kb/documentLink.do?externalID=11979

//
igb: count Rx FIFO errors correctly
https://patchwork.ozlabs.org/patch/48376/

Subject: NAPI, rx_no_buffer_count, e1000, r8169 and other actors
https://lists.openwall.net/netdev/2008/06/15/34

ethtool statistics information
http://www.morenice.kr/138

Thread: 10G Performance testing on Ubunutu.
https://ubuntuforums.org/showthread.php?t=1698108

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.