Linux에서 디스크 I/O를 확인하려면 iostat 명령어를 사용할 수 있습니다. 이 명령어는 각 디스크의 현재 디스크 이용률, 디스크 읽기/쓰기 작업 수, 평균 응답 시간을 보여줍니다.
아래는 iostat 명령어의 사용 방법입니다:
터미널 또는 명령 프롬프트를 엽니다.
iostat을 입력하고 엔터를 누릅니다.
시스템의 모든 디스크에 대한 디스크 I/O 통계를 볼 수 있습니다.
더 자세한 정보를 보려면 iostat 명령에 옵션을 추가할 수 있습니다. 아래는 유용한 몇 가지 옵션입니다:
-x: 디스크 이용률, 초당 읽기/쓰기 작업 수 및 평균 응답 시간을 포함한 확장된 디스크 통계를 표시합니다.
-d: CPU 통계가 아닌 디스크 통계만 표시합니다.
-k: 블록당 초당 통계 대신 킬로바이트당 통계를 표시합니다.
-p: 모니터링하려는 디스크의 장치 이름을 지정합니다.
아래는 /dev/sda 디스크에 대한 확장된 디스크 통계를 보여주는 예시 명령어입니다:
iostat -x /dev/sda
다음은 서버에서 지정된 디스크 I/O를 확인하는 데 사용할 수 있는 스크립트입니다.
#!/bin/bash
# Define the disk device to monitor
DISK="/dev/sda"
# Define the time interval between measurements
INTERVAL=1
# Define the number of measurements to take
NUM_MEASUREMENTS=10
# Loop through the measurements
for ((i=1; i<=$NUM_MEASUREMENTS; i++))
do
# Get the current date and time
DATE=$(date "+%Y-%m-%d %H:%M:%S")
# Get the disk I/O statistics
IO_STATS=$(iostat -x $DISK $INTERVAL 1 | tail -n 2 | head -n 1)
# Extract the relevant data from the output
UTILIZATION=$(echo $IO_STATS | awk '{print $14}')
READS=$(echo $IO_STATS | awk '{print $4}')
WRITES=$(echo $IO_STATS | awk '{print $5}')
# Print the results
echo "$DATE - Disk Utilization: $UTILIZATION%, Reads/s: $READS, Writes/s: $WRITES"
# Wait for the next measurement
sleep $INTERVAL
done
이 스크립트는 iostat 명령을 사용하여 지정된 디스크 장치(이 예에서는 /dev/sda)에 대한 디스크 I/O 통계를 정기적으로 가져옵니다. 그런 다음 출력에서 관련 데이터를 추출하여 콘솔에 인쇄합니다.
이 스크립트를 사용하려면 모니터링하려는 서버의 파일(예: disk_io.sh)에 저장하고 chmod +x disk_io.sh 명령으로 실행 가능하게 만드십시오. 그런 다음 ./disk_io.sh 명령으로 스크립트를 실행하여 디스크 I/O 모니터링을 시작합니다.
필요에 따라 DISK, INTERVAL 및 NUM_MEASUREMENTS 변수를 조정할 수 있습니다. 예를 들어 다른 디스크 장치를 모니터링하거나 더 자주 또는 더 오랜 시간 동안 측정을 수행할 수 있습니다.
'Linux' 카테고리의 다른 글
리눅스에서 시스템 성능 데이터를 수집하는 sar 명령어, csv형식으로 변환 (0) | 2023.03.10 |
---|---|
리눅스 시스템 성능 모니터링 툴 nmon 명령어 및 nmon analyzer 사용 (0) | 2023.03.10 |
리눅스에서 tcpdump 사용방법 (0) | 2023.03.10 |
SuSE HA에 관한 설명 및 특징 (0) | 2023.02.17 |
리눅스 서버 서버 부하 발생 시 원인을 빠르게 파악할 수 있는 명령어 (0) | 2023.02.17 |
댓글