예를 들어, cat /proc/interrupts
.
이 가치는 계속해서 커지고 있습니다.
36: 10273035 IPIC 36 Level eth1_g0_rx
최대값, 즉 uint64_t가 보유할 수 있는 최대값에 도달하면 어떻게 되나요? 데이터 오버플로를 처리하는 방법은 무엇입니까? 이러한 대용량 데이터를 처리하는 올바른 방법은 무엇입니까?
답변1
보편적인 대답은 없으며 가치에 따라 다릅니다.
인터럽트 카운터는CPU당 unsigned int
CPU, C 덧셈을 사용하여 증가됩니다. 이 값은 참고용이므로 20억 번 이상 발생하면( unsigned int
32비트 값을 사용하는 플랫폼에서) 더 이상 정확하지 않아도 상관 없습니다 .
Overflow 처리에 중요한 값의 경우 저장소 자체는 변경되지 않습니다.즉크기는 데이터에 맞게 선택되지만 저장소에는 "마법"이 없지만 값에 대한 작업에는오버플로 검사 변형.