Linux에서 총 읽기 및 총 쓰기 IOPS를 얻는 방법은 무엇입니까?

Linux에서 총 읽기 및 총 쓰기 IOPS를 얻는 방법은 무엇입니까?

명령줄을 사용하거나 프로그래밍 방식으로 Linux에서 개별적으로 읽기 및 쓰기 IOPS를 얻는 방법은 무엇입니까? sysstat패키지를 설치했습니다 .

sysstatpackage 명령을 사용하여 개별적으로 계산하는 방법을 알려주십시오 .

또는 파일 시스템을 사용하여 계산할 수 있습니까?

전임자: /proc또는 /sys또는/dev

답변1

iostatsysstat패키지의 일부이며 전체 IOPS를 표시하거나 원하는 경우 읽기/쓰기로 구분하여 표시하는 기능이 있습니다 .

iostat장치 정보 페이지만 표시하려면 -d 플래그를 사용하여 실행하고, 자세한 정보(별도의 읽기/쓰기 통계)를 표시하려면 -x 플래그를 사용하여 실행하세요. 정보를 원하는 장치를 지정하려면 명령줄에 뒤에 추가하기만 하면 됩니다.

출력을 이해하려면 실행 iostat -dx하고 요약을 살펴보세요. 또한 이를 사용하여 iostat -dx 1지속적으로 새로 고쳐지는 출력을 표시할 수 있으며 이는 문제 해결이나 실시간 모니터링에 유용합니다.

를 사용하면 awk필드 4는 다음을 제공합니다.읽기/초, 필드 5는 다음을 제공합니다.쓰기/초.

읽기/초만:

iostat -dx <your disk name> | grep <your disk name> | awk '{ print $4; }'

초당 쓰기만 가능:

iostat -dx <your disk name> | grep <your disk name> | awk '{ print $5; }'

읽기/초와 쓰기/초는 슬래시로 구분됩니다.

iostat -dx <your disk name> | grep <your disk name> | awk '{ print $4"/"$5; }'

전체 IOPS(대부분의 사람들이 말하는 내용):

iostat -d <your disk name> | grep <your disk name> | awk '{ print $2; }'

예를 들어, 내 홈 드라이브 /dev/sda를 사용하여 마지막 명령을 실행하는 것은 다음과 같습니다.

dan@daneel ~ $ iostat -dx sda | grep sda | awk '{ print $4"/"$5; }' 15.59/2.70

하신다는 점 참고해주세요아니요또한 실행하려면 루트가 필요하므로 권한이 없는 사용자에게 유용합니다.

요약: sda전체 IOPS에만 관심이 있는 경우 다음 명령을 사용하면 다음과 같은 결과를 얻을 수 있습니다 sda.

iostat -d sda | grep sda | awk '{ print $2; }'

IOPS를 추가하려는 경우모두장치에서는 awk를 다시 사용할 수 있습니다.

iostat -d | tail -n +4 | head -n -1 | awk '{s+=$2} END {print s}'

그러면 다음과 같은 출력이 생성됩니다.

dan@daneel ~ $ iostat -d | tail -n +4 | head -n -1 | awk '{s+=$2} END {print s}' 18.88

관련 정보