Linux에서 각 프로세스 또는 스레드의 총 읽기 및 쓰기 IOPS를 얻는 방법은 무엇입니까?

Linux에서 각 프로세스 또는 스레드의 총 읽기 및 쓰기 IOPS를 얻는 방법은 무엇입니까?

시스템에서 IOPS가 가장 높은 프로세스를 찾고 싶습니다. 어떻게 해야 합니까?

답변1

IOPS(초당 입출력 작업)가 가장 높은 프로세스를 찾으려면 여러 CLI 도구를 사용할 수 있지만( sar내 머리 꼭대기에서) 나는 그것을 좋아합니다.오토프최고. 여기에는 초당 읽기/쓰기 바이트 및 프로세스당 IO 사용 비율과 함께 현재 및 총 IOPS를 표시하는 상단과 유사한 텍스트 모드 UI가 있습니다.

iotop대부분의 패키지 저장소에 존재합니다.

TUI 모드의 컨트롤은 매우 간단합니다.

Left and right arrows to change the sorting column, r to invert the
sorting order, o to toggle the --only option, p to toggle the --processes
option, a to toggle the --accumulated option, i to change I/O priority, q to
quit, any other key to force a refresh.

iotopCLI 도구 호출로 명령줄 옵션을 사용할 수도 있습니다 .

  -o, --only            only show processes or threads actually doing I/O
  -b, --batch           non-interactive mode
  -n NUM, --iter=NUM    number of iterations before ending [infinite]
  -d SEC, --delay=SEC   delay between iterations [1 second]
  -p PID, --pid=PID     processes/threads to monitor [all]
  -u USER, --user=USER  users to monitor [all]
  -P, --processes       only show processes, not all threads
  -a, --accumulated     show accumulated I/O instead of bandwidth
  -k, --kilobytes       use kilobytes instead of a human friendly unit
  -t, --time            add a timestamp on each line (implies --batch)
  -q, --quiet           suppress some lines of header (implies --batch)

관련 정보