명령줄을 사용하거나 프로그래밍 방식으로 Linux에서 개별적으로 읽기 및 쓰기 IOPS를 얻는 방법은 무엇입니까? sysstat
패키지를 설치했습니다 .
sysstat
package 명령을 사용하여 개별적으로 계산하는 방법을 알려주십시오 .
또는 파일 시스템을 사용하여 계산할 수 있습니까?
전임자: /proc
또는 /sys
또는/dev
답변1
iostat
sysstat
패키지의 일부이며 전체 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