나는 초당 현재 디스크 로드 iostat -dx 1
(특히 %util 열)를 얻기 위해 iostat를 사용하고 있습니다. 그러나 나는 이것을 bash 스크립트에 넣고 watch
다음을 사용하여 간격을 제어하고 싶습니다 watch -n 1 ./script.sh
.
다음 명령을 실행하면 script.sh
아무것도 인쇄되지 않습니다.
io_load=`iostat -dx 1`
echo $io_load
어떤 아이디어가 있나요?
답변1
귀하는 iostat -dx 1
종료하지 않고 계속해서 가치를 보고할 것입니다. ( 1
계산 간격을 나타냅니다.)
당신은 다음과 같은 것을 원할 수도 있습니다
io_load=$(iostat -dx)
echo "$io_load"
답변2
매뉴얼 페이지에는 다음과 iostat
같이 나와 있습니다.
The interval parameter specifies the amount of time in seconds between each
report. The first report contains statistics for the time since system
startup (boot), unless the -y option is used (in this case, this report is
omitted). Each subsequent report contains statistics collected during the
interval since the previous report.
즉, 첫 번째 출력은 iostat -dx 1
와 동일 iostat -dx
하지만 후속 출력은 달라집니다. - 를 사용하여 이 동작을 재현할 수 없습니다 watch
.