저장 장치 및 네트워크 패널
스토리지/네트워크 패널은 루트 eMMC의 용량 및 전체 장치 I/O, 선택 사항인 /media/nvme에 마운트된 NVMe 스토리지, 그리고 집계된 비 루프백 네트워크 카운터를 보고합니다.
파일 시스 템 용량
| 필드 | 출처 및 계산 |
|---|---|
| 사용된 eMMC 용량 / 사용된 MB | statvfs("/") |
| NVMe 사용량 / 사용된 MB | statvfs("/media/nvme")는 해당 경로가 마운트된 경우에만 해당됩니다. |
Sentinel은 다음을 계산합니다.
total = f_blocks × f_frsize
available = f_bavail × f_frsize
used = total - available
used_pct = used / total × 100
f_bavail은 권한이 없는 프로세스에 할당할 수 있는 여유 공간이므로, 예약된 파일 시스템 블록이 표시되는 사용량 값에 영향을 미칩니다. MB는 이진 MiB 변환 방식을 사용합니다.
NVMe 지표 정의는 /media/nvme가 데몬 시작 시 마운트된 것으로 감지될 때만 추가됩니다. 드라이브를 마운트하거나 언마운트한 후에는 Sentinel을 다시 시작하여 사용 가능한 지표 세트가 시스템과 일치하도록 합니다.
디스크 입출력
Sentinel은 /proc/mounts에서 마운트된 장치의 상위 블록 장치를 확인하고, /proc/diskstats에서 섹터 카운터를 읽어 들입니다. 그런 다음 장치 하드웨어의 섹터 크기로 곱하고, 바이트 차이를 경과된 샘플 시간으로 나눕니다.
따라서 읽기/쓰기 속도는 표시된 파일 시스템을 통해 액세스되는 파일뿐만 아니라 전체 상위 블록 장치를 나타냅니다. 다른 파티션이나 동일한 장치를 사용하는 다른 사용자가 기여할 수도 있습니다.
마운트와 장치 간의 연결 확인에 실패하면 Sentinel은 장치 이름 기반의 휴리스틱을 사용합니다.
- eMMC: 최초의 완전한
mmcblk*장치; - NVMe: 최초의 완전한
nvme*장치입니다.
첫 번째 샘플은 이전 카운터 기준값이 없으며, 0의 값을 보고합니다. 카운터 재설정과 장치 교체는 포화 뺄셈 방식으로 처리되므로 음수 값을 생성하지 않습니다.
UI에서는 속도를 MB/s로 표시하지만, 계산 과정에서 1024로 두 번 나누기 때문에 MiB/s와 동일한 값을 갖습니다.
네트워크 필드
| 필드 | 계산 |
|---|---|
| 네트워크 수신 | 모든 비 루프백 인터페이스에 대해 /proc/net/dev에서 수신된 바이트의 변화량의 합 계를 경과 시간으로 나눈 값입니다. |
| 네트워크 TX | 모든 비 루프백 인터페이스에 대해 /proc/net/dev에서 가져온 전송 바이트 변화량의 합계를 경과 시간으로 나눈 값입니다. |
| 네트워크 차트 | RX와 TX. |
집계에는 물리적 인터페이스, 브리지, VLAN, 터널 및 가상 이더넷 장치(존재하는 경우)가 포함됩니다. 따라서 동일한 트래픽은 여러 계층에서 계산될 수 있습니다. 예를 들어, 물리적 인터페이스에서 한 번, 브리지에서 한 번 계산될 수 있습니다. 이는 시스템 인터페이스 활동이며, 반드시 외부 케이블을 통한 처리량을 의미하는 것은 아닙니다.
델타 값을 계산하려면 인터페이스가 연속적인 샘플에 존재해야 합니다. 첫 번째 네트워크 샘플은 0을 보고합니다. 키는 _mbps로 끝나지만, 단위는 초당 메가비트가 아닌 MiB/s와 같습니다.