kstat 바이트와 bytes64의 차이점

kstat 바이트와 bytes64의 차이점

나는 최근에 두 사람과 함께 놀기 시작했고 kstat내 모든 영역에서 네트워크 사용량을 표시하는 간단한 스크립트를 작성하고 싶었습니다.

약간의 조사 끝에 필요한 모든 것을 찾았습니다 link:0:::. 나는 주로 패킷과 바이트 수에 관심이 있지만 이러한 카운터에는 두 가지 버전이 있습니다.

  • link:0:::*bytes
  • link:0:::*bytes64

패킷 수는 동일합니다.

  • link:0:::*packets
  • link:0:::*packets64

패킷 수는 동일한 것처럼 보이지만 바이트 수는 다릅니다.

누군가 이 카운터와 64개 버전의 차이점을 설명할 수 있습니까? 또한 카운터에 대한 문서나 참고 자료도 kstat대개 큰 도움이 됩니다.

참고: 서버에서 장애 조치

답변1

접미사가 64인 측정항목은 64비트 변수에 저장되고, 다른 측정항목은 32비트 변수에 저장됩니다.

해당 인터페이스의 패킷 수가 (아직) 40억(2^32)개 패킷을 초과하지 않았기 때문에 패킷 카운터에는 차이가 없지만, 4GiB 이상이 전송되었으므로 값은 패킷마다 64만큼 다릅니다. .

결론은 가능한 경우 *64 카운터를 사용한다는 것입니다.

대부분의 kstat 메트릭에 대한 가장 좋은 문서는 커널 소스 코드입니다.

관련 정보