디스크 공간을 비우면 왜 컴퓨터 속도가 빨라 집니까?


191

나는 많은 비디오를보고 이제 컴퓨터가 어떻게 작동하는지 조금 더 잘 이해했습니다. RAM이 무엇인지, 휘발성 및 비 휘발성 메모리, 스와핑 프로세스를 더 잘 이해합니다. 또한 RAM을 늘리면 컴퓨터 속도가 빨라지는 이유도 이해합니다.

디스크 공간 정리가 컴퓨터 속도를 높이는 이유를 모르겠습니다. 그렇습니까? 왜 그렇습니까? 물건을 저장하기 위해 사용 가능한 공간을 찾는 것과 관련이 있습니까? 아니면 무언가를 저장하기에 충분히 긴 연속 공간을 만들기 위해 물건을 움직일 때? 하드 디스크의 빈 공간을 비워 두어야합니까?


37
실제로 PC 속도를 높이는 것이 아니라 파일 조각화 가능성을 줄여 HDD 속도를 느리게합니다. 이것은 모두가 반복하는 가장 큰 PC 신화 중 하나입니다. PC에서 bootlenecks를 찾으려면 xperf / WPA로 부팅하십시오.
magicandre1981

9
그것을 FWIW speeds up the experience of using a PC.
edthethird

4
@ magicandre1981 : 작은 진실의 보석이 있습니다. 각 폴더에 많은 것들이있을수록 파일 탐색 속도가 느려져 파일 경로를 사용하는 모든 것에 영향을 미칩니다. 그러나 그것은 작습니다 .
Mooing Duck

4
@MooingDuck 사실이지만, 파일 크기 나 드라이브의 남은 공간 크기가 아니라 폴더의 파일 수와 관련이 있습니다. 이 효과는 남은 디스크 공간과 관련이 없습니다. 이 효과는 폴더 자체의 범위로 제한되며 전체 컴퓨터를 "느리게"하지 않습니다. 예를 들어, ext3 / 4와 같은 일부 파일 시스템은 해시 된 디렉토리 트리 를 사용하여 조회 (하위 폴더 액세스 포함)를 빠르게 수행하므로, 예를 들어 디렉토리의 내용을 나열 할 때만 효과의 범위가 더 제한됩니다 .
Jason C

4
정확히 어떤 비디오를보고 있었습니까?
Loko

답변:


313

여기서 우연히 책을 썼습니다. 커피를 먼저 드십시오.

디스크 공간을 비우면 왜 컴퓨터 속도가 빨라 집니까?

적어도 독자적으로는 아닙니다. 이것은 정말 일반적인 신화입니다. 하드 드라이브를 작성하는 것은 종종 전통적으로 다른 것들과 동시에 발생하기 때문에이 공통의 신화 이유는 천천히 컴퓨터를. 드라이브가 가득 차면 SSD 성능이 저하되는 경향 이 있지만 이는 SSD에 고유 한 비교적 새로운 문제이며 일반 사용자에게는 눈에 띄지 않습니다. 일반적으로 디스크 여유 공간이 부족하면 빨간색 청어 일뿐 입니다.

예를 들면 다음과 같습니다.

  • 파일 조각화. 파일 조각화 †† 문제 이지만 사용 가능한 공간이 부족하지만 많은 기여 요인 중 하나가 유일한 원인은 아닙니다. 몇 가지 핵심 사항은 다음과 같습니다.

    • 파일이 조각 날 가능성은 드라이브에 남은 여유 공간과 관련 이 없습니다 . 이들은 드라이브에서 사용 가능한 최대 여유 공간 블록의 크기 (예 : 여유 공간의 "구멍")와 관련이 있으며, 여유 공간의 양은 상한을 설정 합니다. 또한 파일 시스템이 파일 할당을 처리하는 방법과 관련이 있습니다 (아래 참조). 고려 : 하나의 연속 된 블록에서 모든 여유 공간이 95 % 가득 찬 드라이브는 0 %의 새 파일 조각화 확률 ††† (추가 된 파일의 조각화 가능성은 여유 공간과 무관)입니다. 5 % 꽉 찼지만 드라이브에 데이터가 고르게 분산 된 드라이브는 조각화 가능성이 매우 높습니다.

    • 파일 조각화 는 조각난 파일에 액세스 할 때만 성능에 영향을 미칩니다 . 고려 : 당신은 여전히 ​​많은 무료 "구멍"을 가지고 좋은 조각 모음 드라이브가 있습니다. 일반적인 시나리오. 모든 것이 순조롭게 진행되고 있습니다. 그러나 결국 여유 공간이 더 이상 남아 있지 않은 지점에 도달하게됩니다. 거대한 영화를 다운로드하면 파일이 심각하게 조각화됩니다. 컴퓨터 속도가 느려지지 않습니다. 이전에 괜찮 았던 모든 응용 프로그램 파일과 파일은 갑자기 조각화되지 않습니다. 이것은 영화를 만들 수 있습니다로드하는 데 시간이 오래 걸리지 만 (일반적인 영화 비트 전송률은 하드 드라이브 읽기 속도에 비해 너무 낮아서 눈에 띄지 않을 수 있지만) 동영상 이로드 되는 동안 I / O 바인딩 성능에 영향을 줄 수 있지만, 아무것도 변하지 않습니다.

    • 파일 조각화는 확실히 문제이지만 OS 및 하드웨어 수준 버퍼링 및 캐싱으로 인해 영향이 완화되는 경우가 종종 있습니다. 쓰기 지연, 미리 읽기, Windows 프리 페처 등 의 전략은 모두 조각화의 영향을 줄이는 데 도움이됩니다. 일반적으로 조각화가 심해질 때까지 실제로 큰 영향을 미치지 않습니다 (스왑 파일이 조각화되지 않는 한 아마 눈치 채지 못할 것입니다).

  • 검색 인덱싱이 또 다른 예입니다. 자동 인덱싱이 설정되어 있고이를 정상적으로 처리하지 못하는 OS가 있다고 가정하겠습니다. 색인 생성 가능한 컨텐츠를 컴퓨터 (문서 등)에 더 많이 저장하면 색인 작성에 시간이 오래 걸리고 I / O 및 CPU 사용량 모두에서 컴퓨터가 실행되는 동안 인식되는 속도에 영향을 줄 수 있습니다. . 이것은 여유 공간과 관련이 없으며 인덱싱 가능한 콘텐츠 양과 관련이 있습니다. 그러나 사용 가능한 공간이 부족하면 더 많은 콘텐츠를 저장하기 때문에 잘못된 연결이 이루어집니다.

  • 바이러스 백신 소프트웨어. 검색 색인 작성 예제와 유사합니다. 드라이브의 백그라운드 검색을 수행하도록 바이러스 백신 소프트웨어를 설정했다고 가정 해 보겠습니다. 검색 가능한 컨텐츠가 점점 많아 질수록 검색에 더 많은 I / O 및 CPU 자원이 사용되어 작업을 방해 할 수 있습니다. 다시 말하지만 이것은 스캔 가능한 콘텐츠의 양과 관련이 있습니다. 내용이 많을수록 여유 공간이 줄어들지 만 여유 공간이 부족한 것은 아닙니다.

  • 설치된 소프트웨어. 컴퓨터가 부팅 될 때로드되는 많은 소프트웨어가 설치되어 시작 시간이 느려 졌다고 가정 해 봅시다. 많은 소프트웨어가로드되고 있기 때문에 속도가 느려집니다. 그러나 설치된 소프트웨어는 하드 드라이브 공간이 필요합니다. 따라서 이와 동시에 하드 드라이브 여유 공간이 줄어들고 다시 잘못 연결될 수 있습니다.

  • 함께 사용하면 여유 공간 부족과 성능 저하를 밀접하게 연관시키는 것처럼 보이는 여러 가지 예가 있습니다.

위의 내용은 이것이 일반적인 신화 인 또 다른 이유를 보여줍니다. 여유 공간 부족은 속도 저하의 직접적인 원인은 아니지만 다양한 응용 프로그램을 제거하거나 색인을 생성하거나 스캔 한 콘텐츠를 제거하는 등의 경우가 있습니다 (항상 그런 것은 아닙니다. 응답) 남은 여유 공간과 관련이없는 이유로 성능을 다시 향상시킵니다 . 그러나 이것은 또한 자연스럽게 하드 드라이브 공간을 비 웁니다. 따라서 "더 많은 여유 공간"과 "빠른 컴퓨터"간에 명백한 (그러나 잘못된) 연결이 이루어질 수 있습니다.

고려 : 소프트웨어가 많이 설치되어 컴퓨터가 느리게 실행되고 하드 드라이브를 더 큰 하드 드라이브로 복제 한 다음 파티션을 확장하여 여유 공간을 늘리면 마술 같은 속도가 아닙니다. 쪽으로. 동일한 소프트웨어가로드되고 동일한 파일이 여전히 동일한 방식으로 조각화되고 동일한 검색 인덱서가 계속 실행되며 더 많은 여유 공간이 있어도 변경되지 않습니다.

물건을 저장할 메모리 공간을 찾는 것과 관련이 있습니까?

아니 그렇지 않아. 여기서 주목할만한 두 가지 중요한 사항이 있습니다.

  1. 하드 드라이브는 물건을 넣을 장소를 찾기 위해 검색하지 않습니다. 하드 드라이브가 바보입니다. 아무것도 아닙니다. OS가 알려주는 내용을 맹목적으로 표시하고 요청 된 내용을 읽는 맹목적인 스토리지 블록입니다. 최신 드라이브에는 시간이 지남에 따라 얻은 경험을 바탕으로 OS가 요구할 사항을 예측하도록 설계된 정교한 캐싱 및 버퍼링 메커니즘이 있습니다. 가끔 보너스 성능 기능을 갖춘 거대한 멍청한 저장 공간으로 드라이브하십시오.

  2. 운영 체제도 물건을 넣을 장소를 검색하지 않습니다. "검색"이 없습니다. 파일 시스템 성능에 매우 중요하므로이 문제를 해결하기 위해 많은 노력을 기울였습니다. 드라이브에서 데이터가 실제로 구성되는 방식은 파일 시스템 에 따라 결정됩니다.. 예를 들어 FAT32 (이전 DOS 및 Windows PC), NTFS (이후 Windows), HFS + (Mac), ext4 (일부 Linux) 등이 있습니다. "파일"과 "디렉토리"의 개념조차도 전형적인 파일 시스템의 제품 일뿐입니다. 하드 드라이브는 "파일"이라는 신비한 짐승에 대해 알지 못합니다. 자세한 내용은이 답변의 범위를 벗어납니다. 그러나 기본적으로 모든 공통 파일 시스템에는 사용 가능한 공간이 드라이브의 위치를 ​​추적하는 방법이 있으므로 여유 공간을 찾는 것은 정상적인 상황 (예 : 양호한 상태의 파일 시스템)에서 필요하지 않습니다. 예 :

    • NTFS 에는 특수 파일 등 을 포함 하는 마스터 파일 테이블$Bitmap 과 드라이브를 설명하는 많은 메타 데이터가 있습니다. 기본적으로 다음 사용 가능한 블록의 위치를 ​​추적하므로 매번 드라이브를 검색하지 않고도 새 파일을 사용 가능한 블록에 직접 쓸 수 있습니다.

    • 또 다른 예인 ext4 에는 "비트 맵 할당 자"가 있는데 , 이는 ext2와 ext3에 비해 향상된 기능으로 기본적으로 사용 가능한 블록 목록을 스캔하는 대신 사용 가능한 블록이 어디에 있는지 직접 판별하는 데 도움이됩니다. Ext4는 또한 "지연된 할당", 즉 조각화를 줄이기 위해 어디에 배치해야하는지에 대한 더 나은 결정을 내리기 위해 드라이브에 기록하기 전에 OS에 의해 RAM에 데이터를 버퍼링하는 기능을 지원합니다.

    • 다른 많은 예들.

또는 무언가를 저장하기에 충분한 연속 공간을 확보하기 위해 물건을 움직일 때?

아니요. 적어도 내가 아는 파일 시스템에서는 발생하지 않습니다. 파일이 조각난 상태입니다.

"무언가를 저장하기에 충분히 긴 연속 공간을 구성하기 위해 사물을 옮기는"과정을 조각 모음 이라고 합니다. 파일을 쓸 때 발생하지 않습니다. 디스크 조각 모음을 실행할 때 발생합니다. 최신 Windows에서는 최소한 일정에 따라 자동으로 발생하지만 파일을 작성해도 트리거되지 않습니다.

할 수 있다는 않도록 다음과 같은 일을 주변에 이동하는 파일 시스템 성능의 핵심이며, 조각 모음은 별도의 단계로 존재 이유 분열이 일어나는 이유입니다.

하드 디스크의 빈 공간을 비워 두어야합니까?

이것은 대답하기 까다로운 질문이며이 답변은 이미 작은 책으로 바뀌 었습니다.

경험 법칙 :

  • 모든 유형의 드라이브 :

    • 가장 중요한 것은 컴퓨터를 효과적으로 사용할 수 있도록 충분한 여유 공간을 확보 하십시오 . 작업 할 공간이 부족하면 더 큰 드라이브를 원할 것입니다.
    • 많은 디스크 조각 모음 도구가 작동하려면 최소한의 여유 공간 (Windows의 경우 최악의 경우 15 % 필요)이 필요합니다.이 여유 공간을 사용하여 다른 항목이 재 배열 될 때 조각난 파일을 임시로 보관합니다.
    • 다른 OS 기능을위한 공간을 확보하십시오. 예를 들어 컴퓨터에 실제 RAM이 많지 않고 동적 크기의 페이지 파일로 가상 메모리를 활성화 한 경우 페이지 파일의 최대 크기에 충분한 공간을 확보해야합니다. 또는 최대 절전 모드로 전환 된 랩톱이있는 경우 최대 절전 모드 상태 파일을위한 충분한 여유 공간이 필요합니다. 그런 것들.
  • SSD 별 :

    • SSD는 최적의 안정성 (및 성능 저하)을 위해 약간의 여유 공간이 필요합니다.이 공간은 너무 자세하게 설명하지 않고 드라이브에 데이터를 분산하여 동일한 장소에 지속적으로 쓰는 것을 피하기 위해 사용합니다 (마모되는). 여유 공간을 떠나는 이러한 개념을 오버 프로비저닝 이라고 합니다. 중요 하지만 많은 SSD에는 필수 초과 프로비저닝 공간이 이미 존재합니다 . 즉, 드라이브는 종종 OS에보고하는 것보다 수십 GB가 더 큽니다. 로우 엔드 드라이브는 종종 파티션되지 않은 공간 을 수동으로 남겨 두어야 하지만, OP가 필수 인 드라이브의 경우 여유 공간을 두지 않아도됩니다 . 여기서 주목해야 할 것은초과 프로비저닝 된 공간은 종종 파티션되지 않은 공간에서만 가져옵니다 . 따라서 파티션이 전체 드라이브를 차지하고 여유 공간을 남겨두면 항상 계산 되지는 않습니다 . 여러 번 수동 오버 프로비저닝을 수행하려면 파티션을 드라이브 크기보다 작게 축소해야합니다. 자세한 내용은 SSD 사용 설명서를 확인하십시오. TRIM 및 가비지 콜렉션과 같은 효과도 있지만이 답변의 범위를 벗어납니다.

개인적으로 나는 약 20-25 %의 여유 공간이 남아있을 때 더 큰 드라이브를 사용합니다. 이것은 성능과 관련이 없으며, 그 시점에 도달하면 곧 데이터 공간이 부족할 것으로 예상되며 더 큰 드라이브를 얻을 시간입니다.

여유 공간을 보는 것보다 더 중요한 것은 예약 된 조각 모음이 SSD에있는 것이 아닌 적절한 위치에서 활성화되어 자신에게 영향을 줄 정도로 심각한 지점에 도달하지 않도록하는 것입니다. 마찬가지로 잘못된 가이드 조정을 피하고 OS가 작동하게하는 것, 예를 들어 Windows 프리 페처를 비활성화하지 마십시오 ( SSD 제외 ).


마지막으로 언급 할만한 것이 있습니다. 다른 대답 중 하나는 SATA의 반이중 모드가 동시에 읽고 쓰는 것을 방지한다고 언급했습니다. 사실이지만 이것은 지나치게 단순화되어 있으며 여기서 논의되는 성능 문제와 관련이 없습니다. 이것이 의미하는 것은, 단순히 데이터를 양방향으로 전송 될 수 없다는 것이다 와이어에 동시에. 그러나 SATA는 작은 최대 블록 크기 (와이어의 블록 당 약 8kB, 읽기 및 쓰기 작업 대기열 등)와 관련 하여 상당히 복잡한 사양을 가지고 있으며 읽기가 진행되는 동안 발생하는 버퍼에 대한 쓰기를 방해하지 않습니다. 조작 등

발생하는 모든 차단은 일반적으로 많은 캐시로 완화되는 물리적 자원의 경쟁으로 인한 것입니다. SATA의 이중 모드는 여기서 거의 전적으로 관련이 없습니다.


"느리게"는 광범위한 용어입니다. 여기서는 I / O 바운드 (예를 들어, 컴퓨터가 크 런칭 번호에 앉아 있거나 하드 드라이브의 내용이 영향을 미치지 않는 경우) 또는 CPU 바운드 및 관련이있는 접선 관련 항목과 경쟁하는 항목을 나타내는 데 사용합니다. 높은 CPU 사용량 (예 : 수많은 파일을 검사하는 바이러스 백신 소프트웨어)

†† SSD 기계 장치와 동일한 제한을받지 않는 SSD에도 불구하고 순차 액세스 속도가 일반적으로 임의 액세스보다 빠르기 때문에 조각화의 영향을받습니다. James Snell이 주석에서 메모 한대로). 그러나 거의 모든 일반적인 사용 시나리오에서 이것은 문제가되지 않습니다. SSD 조각화로 인한 성능 차이는 일반적으로 응용 프로그램로드, 컴퓨터 부팅 등과 같은 경우 무시할 수 있습니다.

††† 의도적으로 파일을 조각화하지 않는 제정신 파일 시스템을 가정합니다.


매우 포괄적 인 답변, 감사합니다. 또한 커피를 마시라는 알림을 보내 주셔서 감사합니다.
Hashim

22

HDD에 대한 Nathanial Meek의 설명 외에도 SSD에 대한 다른 시나리오가 있습니다.

SSD는 모든 위치에 대한 액세스 시간이 동일하기 때문에 분산 된 데이터에 민감하지 않습니다. 일반적인 SSD 액세스 시간은 0.1ms이며 일반적인 HDD 액세스 시간은 10-15ms입니다. 그러나 SSD에 이미 기록 된 데이터에 민감합니다.

기존 데이터를 덮어 쓸 수있는 기존 HDD와 달리 SSD는 데이터를 쓰려면 완전히 빈 공간이 필요합니다. 삭제 된 것으로 표시된 데이터를 제거하는 Trim and Garbage Collection이라는 기능으로 수행됩니다. 가비지 콜렉션은 SSD의 특정 여유 공간과 결합하여 가장 잘 작동합니다. 일반적으로 여유 공간의 15 ~ 25 %가 권장됩니다.

가비지 콜렉션이 제 시간에 작업을 완료 할 수없는 경우, 각 쓰기 조작 앞에 데이터가 기록 될 공간을 정리해야합니다. 이는 각 쓰기 작업 시간을 두 배로 늘리고 전체 성능을 저하시킵니다.

다음은 Trim and Garbage Collection의 기능을 설명 하는 훌륭한 기사 입니다.


SSD는 부분 데이터를 읽고 더 많은 데이터를 써서 부분적으로 채워진 셀에 쓸 수 있지만 불가피 할 때만 그렇게하는 경향이 있습니다. 물론 속도가 느리며 일반적으로 드라이브의 조각이 너무 나빠서 빨리 다시 쓰려면 시간이 많이 걸립니다.
푹신한

그것은 또한 컨트롤러에 달려 있습니다. 그리고 많은 변형이 있기 때문에 나는 그 세부 수준으로 가고 싶지 않았습니다.
whs

당신이 말한 15-25 %를 "과다 프로비저닝"이라고합니다. 여유 공간을 남겨 둘 필요가없는 드라이브를 위해 일부 드라이브에는 이미이 공간에 할당 된 필수 공간이 있습니다 (예 : 1TB EVO 840은 9 % 예약되어 OS에 무료로보고되지 않음). 경우에 따라 초과 프로비저닝 된 공간도 파티션을 해제해야하며 파일 시스템에 여유 공간을 남겨 두어도 공간이 줄어들지 않기 때문에 실제로 할당되지 않은 공간을 남겨 두어야합니다.
Jason C

초과 프로비저닝은 다른 것입니다. 결함이있는 낸드를 교체하기 위해 대기중인 낸드입니다. 15-25 %는 블록 (페이지)을 비우고 마모 레벨링에 필요합니다. 자세한 내용은 여기를 참조하십시오 ==> thessdreview.com/daily-news/latest-buzz/…
whs

@whs 아닙니다. 링크 한 기사가 해당 내용을 암시하지는 않습니다. 초과 프로비저닝 된 공간 (이 섹션의 인용 된 소스 또는 Google 참조)은 사용 가능한 블록 풀이며이 풀의 블록은 가비지 수집 / 빠른 쓰기, 마모 수준 조정 및 결함있는 셀 교체에 사용됩니다. 결함이있는 셀을 교체하는 것은 모두 같은 풀에 있습니다. 결함이있는 셀로 가득 차면 일관된 오류가 표시됩니다. LSI의이 프레젠테이션에서 슬라이드 12도 참조하십시오 . 모든 것이 가치가 있으며 주제를 직접 다루고 있습니다.
Jason C

12

기존의 하드 디스크 내부에는 개별 비트와 바이트가 실제로 인코딩되는 회전 금속 플래터가 있습니다. 플래터에 데이터가 추가되면 디스크 컨트롤러는 먼저 디스크 외부에 데이터를 저장합니다. 새로운 데이터가 추가됨에 따라 디스크 내부를 향한 마지막 공간이 사용됩니다.

이를 염두에두고 디스크가 가득 차면 디스크 성능이 저하되는 두 가지 효과가 있습니다 : 탐색 시간회전 속도 .

탐색 시간

데이터에 액세스하려면 기존 하드 디스크가 물리적으로 읽기 / 쓰기 헤드를 올바른 위치로 이동시켜야합니다. 이 시간은 "소요 시간"이라고합니다. 제조업체는 디스크 검색 시간을 게시하며 일반적으로 몇 밀리 초입니다. 그다지 들리지는 않지만 컴퓨터에는 영원합니다. 작업을 완료 하기 위해 많은 다른 디스크 위치 를 읽거나 써야하는 경우 (보통) 지연 시간이나 대기 시간이 길어질 수 있습니다.

거의 비어있는 드라이브는 대부분의 데이터가 동일한 위치에 있거나 거의 같은 위치에 있습니다. 일반적으로 읽기 / 쓰기 헤드의 나머지 위치 근처에있는 외부 가장자리에 있습니다. 이렇게하면 디스크에서 탐색해야 할 필요성이 줄어들고 탐색에 소요되는 시간이 크게 줄어 듭니다. 거의 꽉 찬 드라이브는 디스크를 더 자주 탐색하고 더 크거나 더 긴 탐색 이동을 수행해야 할뿐만 아니라 관련 섹터를 같은 섹터에 유지하는 데 문제가있어 디스크 탐색을 더욱 증가시킬 수 있습니다. 이것을 조각난 데이터 라고 합니다.

디스크 공간을 확보하면 조각 모음 서비스를 통해 조각난 파일을보다 빨리 정리할 수있을뿐만 아니라 파일을 디스크 외부로 이동하여 평균 탐색 시간을 단축 할 수있어 탐색 시간을 향상시킬 수 있습니다.

회전 속도

하드 드라이브는 고정 속도 (일반적으로 컴퓨터의 경우 5400rpm 또는 7200rpm, 서버의 경우 10000rpm 또는 15000rpm)로 회전합니다. 또한 단일 비트를 저장하기 위해 드라이브에 고정 된 공간이 필요합니다. 고정 회전 속도로 디스크가 회전하는 경우 디스크 외부는 디스크 내부보다 선형 속도가 빠릅니다. 이는 디스크의 외부 가장자리 근처의 비트가 디스크 중앙 근처의 비트보다 빠른 속도로 읽기 헤드를 지나서 이동하므로 읽기 / 쓰기 헤드가 디스크의 외부 가장자리 근처의 비트를 빠르게 읽거나 쓸 수 있음을 의미합니다. 안의.

거의 비어있는 드라이브는 디스크의 가장 빠른 외부 가장자리 근처의 비트에 액세스하는 데 대부분의 시간을 소비합니다. 거의 꽉 찬 드라이브는 디스크의 느린 내부 부분에 가까운 비트에 액세스하는 데 더 많은 시간을 소비합니다.

디스크 공간을 비우면 조각 모음 서비스가 디스크 외부로 데이터를 이동하여 읽기 및 쓰기 속도가 더 빨라지므로 컴퓨터가 더 빨라질 수 있습니다.

때때로 디스크가 실제로 판독 헤드에 비해 너무 빠르게 이동하며,이 결과는 외부 에지 근처의 섹터가 엇갈리게 배치되어 판독 헤드가 계속 유지 될 수 있도록 순서가 맞지 않기 때문에 감소합니다. 그러나 전반적으로 이것은 유지됩니다.

이 두 가지 효과는 디스크의 가장 빠른 부분에서 먼저 데이터를 그룹화하고 디스크의 느린 부분을 사용하지 않을 때까지 데이터를 그룹화하는 디스크 컨트롤러에 발생합니다. 디스크가 가득 차면 디스크의 느린 부분에 점점 더 많은 시간이 소비됩니다.

효과는 새 드라이브에도 적용됩니다. 1TB는 비트를 서로 더 가깝게 저장하고 내부 트랙에 빨리 채워지지 않기 때문에 새로운 1TB 드라이브는 새로운 200GB 드라이브보다 빠릅니다. 그러나 제조업체가 1TB 크기에 도달하기 위해 여러 개의 플래터를 사용하고, 1TB 시스템을 200GB로 제한하는 작은 플래터, 1TB 플래터를 200GB로 제한하는 소프트웨어 / 디스크 컨트롤러 제한으로 인해이 정보를 사용하여 구매 결정을 알리는 것은 거의 도움이되지 않습니다. 200GB 드라이브와 같은 불량 섹터가 많은 1TB 드라이브에서 부분적으로 완성되거나 결함이있는 플래터가있는 드라이브를 판매하십시오.

다른 요인들

위의 효과가 상당히 작다는 점에 주목할 가치가 있습니다. 컴퓨터 하드웨어 엔지니어는 이러한 문제를 최소화하는 방법에 대해 많은 시간을 소비하며 하드 드라이브 버퍼, Superfetch 캐싱 및 기타 시스템과 같은 모든 문제가 최소화됩니다. A의 건강한 여유 공간을 많이 시스템, 당신은 통지를 균일 가능성이 아니에요. 또한 SSD는 완전히 다른 성능 특성을 가지고 있습니다. 그러나 효과가 있으며 드라이브가 가득 차면 컴퓨터 속도가 느려집니다. 온 건강에 해로운 디스크 공간이 매우 낮은 시스템, 이러한 효과는 디스크가 지속적으로 앞뒤로 조각난 데이터에서 찾고 디스크 탈곡 상황을 만들 수 있습니다 및 디스크 공간을 확보하는 것은 더 극적이고 눈에 띄는 개선의 결과로,이 문제를 해결할 수 있습니다 .

또한 디스크에 데이터를 추가한다는 것은 인덱싱 또는 AV 스캔 및 조각 모음 프로세스와 같은 특정 작업이 백그라운드에서 이전과 동일한 속도로 수행하더라도 거의 더 많은 작업을 수행하고 있음을 의미합니다.

마지막으로, 디스크 성능은 거대한 전체 PC 성능의 지표 요즘 ... CPU의 속도보다 더 큰 표시. 디스크 처리량의 작은 감소조차도 PC 성능의 실질적인 전체 감소와 동일합니다. 하드 디스크 성능이 실제로 CPU 및 메모리 향상과 보조를 맞추지 않았기 때문에 이것은 특히 그렇습니다. 7200 RPM 디스크는 현재 10 년 이상 데스크탑 표준이었습니다. 그 전통적인 회전 디스크는 그 어느 때보 다 컴퓨터의 병목 현상입니다.


1
탐색 시간 증가는 여유 공간이 부족한 것이 아니라 데이터 구성의 결과입니다. 디스크 공간을 확보해도 데이터가 이미 드라이브 전체에있는 경우 검색 시간이 줄어들지 않습니다. 마찬가지로 디스크 공간이 부족해도 이미 잘 구성된 관련없는 데이터의 검색 시간이 갑자기 증가하지는 않습니다. 더 중요한 것은 이들 중 하나를 "느린 컴퓨터"와 연관시키는 것에 매우주의하십시오. 예를 들어, 브라우저의 실행 파일이 조각화되지 않고 기계식 드라이브 외부에 있기 때문에 웹을 더 빨리 탐색하지 않을 것입니다. 최악의 경우에도 MP3는 여전히 매끄럽게 재생됩니다.
Jason C

2
@JasonC 이러한 점은 개별적으로 사실이지만 전체 시스템의 일부로 취하면 실제 속도가 느려질 수 있습니다. 예를 들면 다음과 같습니다. " Freeing disk space won't decrease seek times if your data is already all over the drive."그 자체로 이의를 제기 할 수는 없지만 조각 모음 서비스가이 데이터를 드라이브 앞쪽으로 옮길 수 있으며 이제 검색 시간 향상 될 것임을 지적 할 수 있습니다 . 귀하의 의견에 나오는 다른 점들도 비슷한 카운터를 가지고 있습니다. 디스크 공간이 부족해도 잘 구성된 데이터를 찾는 것은 아니지만, 데이터가 정리되어있을 가능성은 줄어 듭니다.
Joel Coehoorn

1
@JasonC 그러나 제목 질문에보다 직접적으로 대응하기 위해 귀하의 의견에 따라 답변에 몇 줄을 추가했습니다.
Joel Coehoorn

물론이야; 그러나 나의 주요 요점은 1) 느린 여유 공간은 다른 것의 결과입니다. 낮은 여유 공간은 많은 요인 중 하나 일 수 있지만 2)이 주제에 대해 조심해야합니다. 매우 빠르게. 일반 사용자가 자신의 컴퓨터가 느리다는 것을 알게되면 실제로 는 조각화 (예 : 조각)가 실제 원인이되는 경우가 매우 드 unusual니다. 그러나 그들은 인터넷에서 많은 것들을 읽고, ccleaner를 설치하고, 50 개의 디스크 조각 모음을 수행하고, 나쁜 레지스트리 조정을 많이합니다. 여기에 대중을 수용해야합니다. 현명한 사람은 우리의 대답이 필요하지 않습니다.
Jason C

이 답변은 짧은 행정 (인공적으로 더 빠른 외부 영역에 데이터를 유지하기 위해 HD 크기를 제한 함)과 일부 잠재적 인 문제를 암시합니다. 또한 대부분의 경우 드라이브가 가득 차면 드라이브가 더 조각화된다는 것을 부인하지 않기 때문에 마음에 듭니다. 여유 공간이 실제 문제 가 아니라는 점은 주목할 가치가 있지만 일반적인 사용자 경험 질문을 처리 할 때 일반적인 사용자 경험을 무시하는 것은 무의미합니다.
Smithers

6

다른 모든 대답은 기술적으로 정확하지만 항상이 간단한 예가 가장 잘 설명한다는 것을 알았습니다.

공간이 충분하면 물건을 정렬하는 것이 정말 쉽습니다. 공간 이 없으면 어려워요 ... 컴퓨터도 공간이 필요합니다 !

이 고전적인 " 15 퍼즐 "은 타일을 뒤섞어 올바른 1-15 순서로 얻을 수있는 1 개의 무료 정사각형 만 있기 때문에 까다 롭고 시간 소모적입니다.

하드 15 퍼즐

그러나 공간이 훨씬 더 크면 10 초 안에이 퍼즐을 해결할 수 있습니다.

쉬운 15 퍼즐

이 퍼즐을 해본 사람이라면 누구나 비유를 이해하는 것이 자연스럽게 오는 것 같습니다. ;-)


2
이것은 파일 시스템 동작과 유사하지 않습니다. 그것은 조각 모음의 일반적인 과정과 다소 비슷하지만,이 퍼즐 비유와 관련하여 조각 모음은 보드에서 숫자를 제거하고 원하는대로 원하는 위치로 바꿀 수 있습니다.
Jason C

2
위의 Jason의 의견 외에도 명백한 점을 지적하고 싶습니다.이 답변은 정렬 (조각 모음)과 관련이 있지만 특정 무작위 타일 (예 : "3"타일)에 액세스 하는 것이 두 번째로 더 빠른 이유는 설명하지 않습니다 첫 번째 경우보다.
CVn

"3"에만 액세스하지 않기 때문입니다. "1-15"에 액세스하고 있습니다. 이 예제에서는 그것이 명확하지 않다는 것을 인정하지만 이해 한대로 사용했습니다. "이 퍼즐은 하나의 조각난 파일과 유사합니다."와 같은 것을 구체적으로 언급 할 가치가 있습니다. 대단한 대답, 물건을 정신적으로 접근 할 수있게합니다!
Smithers

1
명확히하기 : 여기서 비유의 주요 문제는 실제 퍼즐에서 타일을 인접한 빈 공간으로 만 이동할 수 있다는 것입니다. 즉, 작은 예에서는 6 또는 13 만 빈 공간으로 이동할 수 있습니다. 그것이 퍼즐을 어렵게 만드는 이유입니다. 타일 ​​게임의 요점입니다. 그러나 하드 드라이브 조각 모음을 수행 할 때 빈 공간으로 4를 이동하고, 1은 올바른 위치 로 이동하는 등 매우 많은 공간이있는 경우처럼 정확하게 이동 하기가 매우 쉽습니다 . 따라서 퍼즐의 요점이 적용되지 않기 때문에 유추는 실제로 무너집니다. 파일 시스템이 이런 식으로 작동하지 않습니다.
Jason C

'3에만 액세스하지 않기 때문입니다. "1-15"에 액세스하고 있습니다. 이것은 말이되지 않습니다. 대답은 왜 완전히 임의의 타일에 액세스하는 것이 첫 번째 경우보다 두 번째 경우에 더 빠를 지 설명하지 않습니다. 조각 모음은 퍼즐의 방식에 제한을 두지 않을뿐만 아니라 "까다로운 / 시간이 많이 소요되는"조각 모음은 시스템 성능과 관련이 없습니다.
짐 Balter

5

회전하는 기계식 하드 드라이브에서 디스크 공간이 거의없는 컴퓨터는 파일 조각화가 증가함에 따라 일반적으로 느려집니다. 조각화가 증가하면 읽기 속도가 느려져 극단적 인 경우 매우 느려집니다.

컴퓨터가이 상태에 있으면 디스크 공간을 확보해도 실제로 문제가 해결되지 않습니다. 디스크 조각 모음도 필요합니다. 컴퓨터가이 상태에 있기 전에 공간을 확보해도 속도가 빨라지지 않습니다. 단순히 조각화가 문제가 될 가능성을 줄입니다.

조각화는 SSD의 읽기 속도에 미미한 영향을 미치므로 회전식 하드 드라이브가 장착 된 컴퓨터에만 적용됩니다.


주요 핵심 문제를 해결하는 훌륭하고 깨끗하며 간단한 답변입니다.
Smithers

4

플래시 디스크가 꽉 찼거나 조각난 경우 플래시 디스크 속도가 느려질 수 있지만 속도 저하 메커니즘은 실제 하드 드라이브에서 발생하는 메커니즘과 다릅니다. 일반적인 플래시 메모리 칩은 몇 개의 소거 블록으로 나뉘며, 각각의 블록은 많은 수 (수천이 아니라도 수백 개)의 쓰기 페이지로 구성되며 세 가지 주요 작업을 지원합니다.

  1. 플래시 페이지를 읽으십시오.
  2. 이전에 빈 플래시 페이지에 씁니다.
  3. 블록의 모든 플래시 페이지를 지 웁니다.

이론적으로 플래시 드라이브에 쓰기 할 때마다 블록에서 모든 페이지를 읽고, 버퍼에서 한 페이지를 변경하고, 블록을 지우고, 버퍼를 플래시 장치에 다시 쓰는 것이 가능하지만, 이러한 접근 방식은 매우 중요합니다. 느린; 또한 지우기가 시작된 시간과 쓰기 저장이 완료된 시간 사이에 전원이 끊기면 데이터가 손실 될 수 있습니다. 또한 디스크의 자주 작성된 부분은 매우 빨리 마모됩니다. 예를 들어 FAT의 처음 128 개 섹터가 하나의 플래시 블록에 저장된 경우, 해당 섹터에 대한 총 쓰기 횟수가 약 100,000에 도달하면 드라이브가 작동하지 않을 것입니다. 약 16,384 개의 FAT 항목을 보유합니다.

위의 접근 방식은 끔찍하게 작동하기 때문에 드라이브는 빈 페이지를 식별하고 데이터를 쓰며 문제의 논리 섹터가 해당 위치에 저장되어 있다는 사실을 기록합니다. 빈 페이지가 충분하면이 작업을 빠르게 진행할 수 있습니다. 빈 페이지가 부족한 경우 드라이브는 "라이브"페이지가 비교적 적은 블록을 찾아 해당 블록의 라이브 페이지를 나머지 빈 페이지로 이동하고 이전 사본을 " 죽은"; 그런 다음 드라이브는 "죽은"페이지 만 포함 된 블록을 지울 수 있습니다.

드라이브가 반만 가득 찼을 경우, 라이브 페이지의 최대 반이 가득 찬 블록이 하나 이상있을 것입니다. 각 블록에 256 페이지가 있고 최소 블록에 64 개의 라이브 페이지가있는 경우 (보통 나쁜 경우), 요청 된 192 개의 섹터 쓰기마다 드라이브에서 64 개의 추가 섹터 복사와 1 개의 블록 지우기 (평균 비용)를 수행해야합니다. 각 섹터 쓰기는 약 1.34 페이지 쓰기 및 0.005 블록 지우기입니다. 최악의 경우에도 128 개의 섹터 쓰기마다 128 개의 추가 섹터 복사와 블록 지우기 (2 페이지 쓰기의 쓰기 당 평균 비용 및 0.01 개의 블록 지우기)가 필요합니다.

드라이브가 99 % 가득 차고 최소 가득 차있는 블록에 248/256 개의 라이브 페이지가있는 경우 8 개의 섹터 쓰기마다 248 개의 추가 페이지 쓰기와 블록 지우기가 필요하므로 32 페이지 쓰기와 0.125 블록의 쓰기 당 비용이 발생합니다. 소거-매우 심각한 속도 저하.

드라이브의 "추가"스토리지 용량에 따라 상황이 그렇게 나 빠지지 않을 수 있습니다. 그럼에도 불구하고 드라이브가 75 % 꽉 찬 시점에서도 최악의 성능은 50 % 꽉 찬 경우 최악의 성능보다 2 배 이상 더 나쁠 수 있습니다.


3

당신은 그것을 거의 못 박았습니다. SATA HDD는 반이중 통신 매체로 생각할 수 있습니다 (즉, 한 번에 데이터를 수신하거나 전송할 수 있습니다. 둘다는 아님). 따라서 드라이브를 장시간 보관할 경우 쓰기 가능한 빈 공간을 찾으십시오. 데이터를 읽을 수 없습니다. 일반적으로 이러한 이유로 드라이브를 80 % 이상의 용량으로로드해서는 안됩니다. 파일이 많을수록 파일을 조각화 할 가능성이 높아지며, 이로 인해 읽기 요청 중에 드라이브가 연결되어 쓰기 요청이 차단됩니다.

이러한 문제를 해결하기 위해 수행 할 수있는 많은 작업이 있습니다.

  • 저장 한 데이터 양을 줄이고 정기적으로 드라이브 조각 모음을 수행하십시오.
  • 플래시 기반 스토리지로 전환합니다.
  • 대량 데이터는 OS와 별도의 드라이브에 저장하십시오.
  • 등등 등등 ...

1
플래시를 사용할 때 드라이브는 거의 동시에 읽거나 쓸 수 있습니다 (둘다는 아님). 9ms는 SSD에서 일반적으로 피코 및 나노초 영역에서 "검색 시간"을 갖는 HDD의 표준 검색 시간입니다. 디스크상의 위치. en.wikipedia.org/wiki/…
Nathanial Meek

7
계속되는 poing 2 : 이것은 $BitmapNTFS에 대한 파일 또는 ext4 의 비트 맵 할당 자 입니다. 즉,이 답변은 심각한 잘못된 정보를 퍼 뜨리고 있습니다. 3. 많은 읽기 및 쓰기 버퍼링 및 캐싱이 진행되어이 문제를 해결합니다. 이 답변은 조각화의 영향을 다소 설명하고 심지어 이전 파일 시스템으로 제한하더라도 정확한 wrt 여유 공간이 아닙니다. 디스크 공간을 확보해도 컴퓨터 속도는 향상되지 않습니다.
Jason C

4
@JasonC, 당신은 당신의 의견을 답변으로 바꿔야합니다.
Celos

6
발생하지 않습니다 : "드라이브가 쓰기 무료 위치를 찾고 오랜 시간 동안 개최됩니다 그렇게 할 때, 그것은 당신에 대한 모든 데이터를 읽을 수 없습니다" - 그냥하지 않습니다. 그것은 파일 시스템이 작동하는 방식이 아닙니다. 잘못된 정보 확산을 막으려면 답을 편집하십시오.
RomanSt

2
@NathanialMeek 레이어를 약간 혼합하고 있습니다. :) SATA의 반이중 모드는 한 방향으로 만 와이어 에서 데이터 전송할 수 있음을 의미합니다 . SATA 지정 작업 대기열의 작은 블록 (FIS)에서 더 높은 수준의 읽기 및 쓰기가 수행됩니다. 비동기식 일 수 있으며 온보드 캐시에서 빠른 읽기 및 쓰기를 수행하고 DMA를 통해 시스템 메모리로 직접 전송할 수 있습니다. 또한 SATA 컨트롤러는 효율성을 최적화하기 위해 명령을 자유롭게 재정렬 할 수 있습니다. 요점 : 물리적 작업이 완료되는 동안 회선이 사용 중이 아니며 SATA의 반이중 모드는 생각한 효과가 없습니다.
Jason C

3

짧고 달콤한 접근 방식에 따라 지나치게 단순화 된 대답 (주요 혼란으로 엄격히 제한됨)은 다음과 같습니다.

당신의 한

  1. OS에는 페이징 / 스와핑 등의 작업을 수행 할 수있는 충분한 공간 (최악의 경우)이 있습니다.
  2. 다른 소프트웨어들도 각자의 필요에 맞는 충분한 공간을 가지고 있습니다.
  3. 하드 디스크 조각 모음이 수행됩니다.

그런 다음 80 % 빈 디스크와 30 % 빈 디스크의 성능 차이를 알 수 없으며 더 많은 새로운 데이터를 저장하는 것 외에는 걱정할 필요가 없습니다.

더 많은 스토리지가 필요한 다른 것은 현재 사용 가능한 공간이 부족할 수 있으므로 성능이 저하됩니다.

물론 도구를 통한 디스크 청소는 다음과 같이 좋습니다.

  1. 중요한 파일 공간을 확보하려면 임시 파일을 정기적으로 정리해야합니다.
  2. 오래된 로그 파일은 공간 낭비 일뿐입니다.
  3. Installed / Uninstalled 소프트웨어의 남은 부분은 매우 불쾌합니다.
  4. 온라인 개인 정보를 소중하게 생각한다면 쿠키를 비워야합니다.
  5. 잘못된 단축키 등

이 모든 (그리고 더 많은) 이유는 작업 할 올바른 비트 세트를 찾을 때 OS를 혼란스럽게 유지하기 때문에 성능이 저하됩니다.


괜찮은 요약이지만 "BUT"섹션에 대해서는 확실하지 않습니다. 특히 : 3) 일반적인 끔찍한 영향에도 불구하고 일반적으로 눈에 띄는 성능 영향이 없습니다. 4) 쿠키는 본질적으로 문제가 없으며, 의견에 관계없이 프라이버시는 성능이나 하드 드라이브 공간과 관련이 없습니다. 5) 깨진 바로 가기는 못생긴 것이지만 그렇지 않으면 중요하지 않습니다. 이 중 어느 것도 일반적인 OS를 "혼동"하지 않습니다. 당신이 따르는 "팁"과 "비틀기"에 대해 매우 조심하십시오. 불필요한 정리 도구도주의하십시오. 특히 레지스트리 클리너는 종종 제로 이익을 위해 해를 입힐 위험이 있습니다.
Jason C

2

내가 언급하지 않은 드라이브 회전에 대한 한 가지 효과 : 디스크의 각 부분에서 액세스 속도와 데이터 전송 속도가 다릅니다.

디스크가 고정 속도로 회전합니다. 디스크 외부의 트랙은 더 길기 때문에 내부의 트랙보다 트랙 당 더 많은 데이터를 보유 할 수 있습니다. 드라이브가 가장 바깥 쪽 트랙에서 100MB / 초를 읽을 수있는 경우 가장 안쪽 트랙의 속도는 50MB / 초 미만입니다.

동시에 디스크의 외부 트랙에있는 1GB의 데이터 사이에서 가장 안쪽 트랙에있는 1GB의 데이터 사이에 비해 트랙 수가 적습니다. 따라서 평균적으로 외부에 저장된 데이터의 경우 가장 안쪽 트랙의 데이터보다 적은 헤드 이동이 필요합니다.

OS는 가능한 경우 가장 바깥 쪽 트랙을 사용하려고 시도합니다. 물론 디스크가 가득 차면 불가능합니다. 데이터를 삭제하면 전송 속도가 빠른 곳에서 사용 가능한 공간을 확보하고 작업을 더 빠르게 실행할 수 있습니다. 같은 이유로, 드라이브의 가장 빠른 부분 만 사용하게되므로 속도를 원한다면 (필요한 경우) 필요 이상으로 큰 회전 하드 드라이브를 구입해야합니다.


추가 : en.wikipedia.org/wiki/Zone_bit_recording . 이것에 대해 자세히 설명합니다. 주목할 점 : 기존 데이터는 이동하지 않습니다. 이는 빈 공간이 아닌 드라이브의 위치에 따라 새 데이터의 저장에 영향을 줄 수 있지만 내부에서 쓰기 전에 행복하게 액세스 한 기존 파일을 "느리게"하지는 않습니다. Amazon에서 찾은 가장 저렴한 1TB 7200RPM 3.5 "드라이브를 사용하면 사용자 벤치 마크 평균 읽기 속도가 144MB / s입니다. 내부 및 외부 트랙의 차이를 고려하더라도 일상적인 사용 중에 병목 현상이 발생하지 않을 수 있습니다.
Jason C

순차적 처리량 측면에서 @JasonC I / O 성능은 실제로 거의 관심사가되지 않습니다. 느린 4900 rpm 드라이브조차도 거의 모든 개별 사용자에게 충분히 빠릅니다. 초당 읽기 / 쓰기 작업 측면에서 I / O 성능은 대부분의 경우 성능을 저하시키는 원인이됩니다. 기울어 진 경우 다중 사용자 시스템의 회전 스토리지 IOPS에 대해 로컬 즐겨 찾기 sysadmin에게 문의하십시오. 이것이 오늘날 멀티 유저 시스템을위한 회전 스토리지를 실제로 배치하는 사람이 거의없는 큰 이유입니다. SSD의 IOPS에도 접근 할 수 없습니다.
CVn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.