나는 최근에 두 사람과 함께 놀기 시작했고 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 메트릭에 대한 가장 좋은 문서는 커널 소스 코드입니다.