시스템(Windows)

Disk I/O(Disk Input/Output)에 대해 알아보겠습니다.

forward error correction Circle 2024. 9. 27. 08:53
반응형

Ⅰ. Disk I/O(Disk Input/Output)

 컴퓨터의 하드 드라이브(HDD) 또는 SSD가 데이터를 읽고 쓰는 작업을 말합니다. Windows 운영체제에서는 Disk I/O가 시스템 성능에 중요한 영향을 미치며, 주로 프로그램의 실행, 파일 읽기/쓰기 작업 및 네트워크 통신과 같은 작업에서 발생합니다.

Disk I/O 성능이 저하되면 시스템의 응답 속도가 느려지고, 전체적인 사용자 경험에 영향을 미칠 수 있습니다. 특히 디스크가 병목 상태에 놓이게 되면 CPU나 메모리가 아무리 빠르더라도 시스템이 느려지게 됩니다.

Ⅱ. Disk I/O의 동작 방식

Disk I/O는 데이터를 저장 매체로 전송하거나 저장 매체에서 데이터를 읽어오는 작업을 의미합니다. 하드 드라이브(HDD), SSD, USB 드라이브 등의 저장 장치는 Disk I/O 작업의 대상이 됩니다.
ⅰ. 읽기 작업(Read Operation): 저장 장치에서 데이터를 메모리로 읽어오는 과정.
ⅱ. 쓰기 작업(Write Operation): 데이터를 저장 장치에 기록하는 과정.
이 과정에서 중요한 두 가지 성능 지표가 있습니다:
ⅰ. 대기 시간(Latency): 요청이 발생한 후 실제로 디스크가 데이터를 전송하는 데 걸리는 시간.
ⅱ. 데이터 처리량(Throughput): 디스크가 초당 처리할 수 있는 데이터 양.

Ⅲ. Disk I/O 성능 문제의 원인

ⅰ. HDD와 SSD의 차이
HDD는 기계적인 회전 디스크와 읽기/쓰기 헤드를 사용하므로, 데이터 액세스에 시간이 걸리고 읽기/쓰기 속도가 느립니다.
SSD는 반도체 메모리를 사용하여 데이터를 저장하므로, 읽기/쓰기 속도가 매우 빠르고, 지연 시간이 적습니다.
ⅱ. 디스크 사용량 과부하
한 번에 너무 많은 프로그램이 디스크 작업을 요청하면 병목 현상이 발생할 수 있습니다. 특히, 파일 다운로드, 백업, 동영상 편집 등 대량의 읽기/쓰기 작업이 동시에 일어나면 Disk I/O 성능이 저하될 수 있습니다.
ⅲ. 프래그먼테이션(조각화)
HDD에서는 파일이 디스크 여러 위치에 나뉘어 저장되는 조각화(프래그먼테이션) 현상이 발생할 수 있으며, 이는 디스크 액세스 속도를 저하시킵니다. SSD에서는 이러한 문제가 상대적으로 적습니다.
ⅳ. 디스크 드라이버의 문제
잘못된 디스크 드라이버나 오래된 드라이버가 Disk I/O 성능에 영향을 미칠 수 있습니다.

Ⅳ. Windows에서 Disk I/O 모니터링 방법

Windows에서는 Disk I/O 성능을 모니터링할 수 있는 다양한 도구를 제공합니다.
ⅰ. 작업 관리자(Task Manager)
Ctrl + Shift + Esc를 눌러 작업 관리자를 엽니다.
상단 탭에서 성능(Performance) 탭으로 이동합니다.
디스크(Disk) 항목을 선택하면 현재 디스크의 읽기/쓰기 속도와 사용률을 실시간으로 확인할 수 있습니다.


ⅱ. 리소스 모니터(Resource Monitor)

리소스 모니터는 보다 자세한 Disk I/O 정보를 제공합니다.

작업 관리자에서 성능 탭으로 이동한 뒤, 하단에서 리소스 모니터 열기를 클릭합니다.


디스크(Disk) 탭을 클릭하면 각 프로세스가 얼마나 많은 디스크 I/O를 사용하는지, 어떤 파일에 액세스 중인지, 읽기/쓰기 속도를 확인할 수 있습니다.


● 리소스 모니터 항목

디스크 활동이 있는 프로세스(Processes with Disk Activity): 현재 디스크 작업을 하고 있는 프로세스와 읽기/쓰기 속도를 보여줍니다.

디스크 활동(Disk Activity): 어떤 파일이 읽기/쓰기 작업을 하고 있는지.

ⅲ. 성능 모니터(Performance Monitor)
성능 모니터는 Windows의 내장 도구로, 시스템의 성능을 장기적으로 추적할 수 있습니다.
Win + R을 눌러 perfmon을 입력하고 실행합니다.


성능 모니터에서 디스크 관련 카운터를 추가하여 실시간으로 Disk I/O 성능을 추적할 수 있습니다.

(성능모니터 → 우클릭 속성   데이터 탭   PhysicalDisk 선택 모니터링 드라이브 선택 후 카운터 추가)


카운터 예시


Disk Read Bytes/sec: 초당 읽어들인 바이트 수.
Disk Write Bytes/sec: 초당 쓴 바이트 수.
Avg. Disk sec/Read: 읽기 작업의 평균 시간.
Avg. Disk sec/Write: 쓰기 작업의 평균 시간.

 

Ⅴ. Windows에서 Disk I/O 최적화 방법

ⅰ. 디스크 조각 모음 (HDD 전용)
HDD에서는 디스크 조각 모음이 성능을 향상시킬 수 있습니다. Windows에서는 주기적으로 조각 모음을 자동으로 수행하지만, 수동으로도 가능합니다.
시작 > 디스크 조각 모음 및 최적화를 검색하여 디스크 조각 모음 도구를 실행할 수 있습니다.


ⅱ. 디스크 공간 확보
불필요한 파일이나 캐시를 정리하여 디스크 공간을 확보하면 Disk I/O 성능이 개선될 수 있습니다.
Windows의 디스크 정리 도구를 사용하거나 Win + R을 눌러 cleanmgr을 실행하여 정리할 수 있습니다.

ⅲ. SSD TRIM 활성화
 SSD의 경우 TRIM 명령어를 활성화하여 불필요한 데이터를 제거하고 성능을 최적화할 수 있습니다.
SSD에서 TRIM이 활성화되어 있는지 확인하려면 명령 프롬프트에서 다음 명령을 실행합니다:

fsutil behavior query DisableDeleteNotify

 


출력이 0이면 TRIM이 활성화된 상태입니다.

ⅳ. 백그라운드 프로세스 관리
많은 프로그램이 동시에 Disk I/O 작업을 수행하면 성능이 저하됩니다. 불필요한 백그라운드 작업을 종료하여 디스크 부하를 줄일 수 있습니다.
ⅴ. 디스크 교체 또는 업그레이드
느린 HDD 대신 SSD로 업그레이드하면 전반적인 Disk I/O 성능이 크게 향상됩니다. SSD는 HDD에 비해 읽기/쓰기 속도가 훨씬 빠릅니다.

반응형