답변:
Iotop 은 원하는 것을위한 좋은 도구입니다. 또한 DISK READ, DISK WRITE, SWAPIN 및 IO (전체 백분율)에서 누적 된 I / O 양을 표시 할 수 있습니다. 이것은 멋진 인터페이스를 통해 이루어집니다 :
마찬가지로 top
, 프리젠 테이션은 오히려 중입니다. 또 다른 것은 그것이 가지고있는 무수한 옵션을 top
가지고 있지 않다는 것입니다 (예 : 관심없는 열을 숨길 수는 없습니다).하지만 도구는 특정 목적에 충분합니다.
-o
( --only
)를 전달 하여 실제로 I / O를 수행하지 않는 모든 작업을 필터링 할 수 있습니다 . 이것은 목록이 덜 혼잡합니다
lsof
( man lsof )를 사용할 수 있습니다 . 다음은 쓰기 위해 열려있는 모든 파일 목록을 반환합니다.
lsof | grep -e "[[:digit:]]\+w"
w
from 명령을 사용하면 쓰기 전용 으로 열린 파일을 grep 할 수 있습니다 . 파일을 쓰기 위해 열 및 (읽기 u
표시되지 않습니다)하지만, 그들은 또한 쓸 수 있습니다. 쓰기 및 읽기 + 쓰기를 위해 열린 파일을보고 싶다면 이것이 당신이 찾고있는 것이라고 생각합니다.lsof | grep -e "[[:digit:]]\+[wu]\{1\}"
특히 디스크 사용량이 적은 경우 짧은 액세스 회선이 빠르게 사라지지 않도록 배치 모드에서 iotop을 사용해야합니다. 리눅스에서 파일 시스템으로 파일 시스템 읽기 / 쓰기 를 어떻게 기록합니까? 이 작업을 수행하는 방법을 보여줍니다.
지금까지
iotop
가장 좋은 전체 솔루션입니다. 다음 명령은 디스크를 사용하는 모든 프로세스의 실시간 출력을 제공합니다.
iotop -bktoqqq -d .5
where: -b is batch mode
-k is kilobytes/s
-t adds timestamp
-o only show processes or threads actually doing I/O
-qqq removes output headers
-d .5 updates every .5 seconds
프로세스 ID가 있으면 다음을 사용하여 파일을 찾을 수도 있습니다.
lsof -p $PID