수백만 개의 파일로 하드 디스크 공간을 시각화하려면 어떻게해야합니까?


18

우리는 600Gig이고 거의 가득 찬 하드 디스크를 가지고 있습니다. 18,501,765 개의 파일 (주로 작은 19k 이미지)과 7,142,132 개의 폴더로 채워져 있습니다. 정확히 모든 공간이 어디로 갔는지 알아내는 것은 매우 어렵습니다. 정기적 인 청소 절차로 충분한 공간을 확보하지 못하므로이 드라이브를 전체적으로 살펴보고 외부에 무엇이 있으며 이동할 수있는 항목을 결정해야합니다. 우리는 여러 응용 프로그램을 시도해 왔으며 지금까지 응용 프로그램이 폭발하거나 완료하기 위해 놀라운 시간 동안 실행되었습니다.

서버 정보

  • 운영 체제 : Windows Server 2003
  • 파일 시스템 : NTFS

해결책

Space ObServer 는 메모리를 거의 차지하지 않고 18,501,765 개의 파일과 7,142,132 개의 폴더를 읽을 수있었습니다. 나는 이것이 SQL 백엔드를 사용하여 모든 데이터를 저장한다는 사실 때문이라고 확신합니다. 불행히도 서버 당 $ 259.95의 모든 제품 중 가장 비쌉니다.

시도한 솔루션

연구하는 동안 유료와 무료의 여러 가지 솔루션을 시도했습니다. 나는 모든 사람의 정보를 위해 아래에 시도한 제품 목록을 유지했습니다.

자유 소프트웨어

유료 소프트웨어

업데이트

업데이트 # 1 : 분석하려는 서버에 2GB의 RAM이 있으며 파일 / 폴더 정보를 메모리에 유지하려고 시도하는 대부분의 제품이 있습니다. 이것은 18,501,765 개의 파일과 7,142,132 개의 폴더로 너무 빨리 소모되는 경향이 있습니다.

업데이트 # 2 : WinDirStat의 개발자가 64 비트에서 컴파일 할 수 있다고 알려주기에 충분히 관여 한 것 같습니다. 그렇게하면 더 많은 메모리를 사용할 수 있지만 디스크에 지속될 수 없다면 충분할지 확실하지 않습니다.


어떤 운영 체제입니까?
웨슬리

Windows Server 2003입니다. 지금 표시하도록 게시물을 편집했습니다.
Nathan Palmer

완전 무료, 셰어웨어 또는 오픈 소스가 있습니까?
Maslow

실패, 실행 및 보류중인 항목에 대해 이러한 방식으로 업데이트 해주셔서 감사합니다. 좋은 아이디어를줍니다.
웨슬리

2
문제 없어요. 회사가 일상적으로 처리하지 않는 파일 수를 처리하는 것처럼 느껴지기 때문에 좋은 정보가 될 것이라고 생각했습니다. 또한 무료 및 유료 카테고리로 업데이트되었습니다.
Nathan Palmer

답변:


6

OS가 Windows라고 가정하면 ...

어떤 방법 으로든 수백만 개의 파일을 표로 작성하는 것은 항상 오랜 시간이 걸리며 디스크 자체의 I / O에 의해 제한됩니다. TreeSize Professional을 권장 합니다. 또는 SpaceObServer 일 수 있습니다. 프리웨어 버전의 TreeSize를 사용해 볼 수도 있습니다.


나는 동의한다. 그러나 내가 시도하지 않은 두 가지 제품을 살펴 보겠습니다.
Nathan Palmer

5

확실히 WinDirStat를 사용해보십시오 : 각 파일을 크기별로 그려진 사각형으로 파일 형식별로 색상으로 표시하여 디스크 사용을 환상적인 시각화합니다. 시각화에서 항목을 클릭하면 디렉토리 트리에 해당 항목이 표시됩니다.

표준 32 비트 빌드는 1 천만 파일 및 2GB RAM 사용으로 제한되지만 소스 코드는 64 비트 응용 프로그램으로 성공적으로 빌드됩니다. 문제의 서버에 2GB의 RAM 만 있다는 사실은이 특정한 경우 문제가 될 수 있지만, 파일 수가 많은 대부분의 서버는 훨씬 더 많은 RAM을 갖게됩니다.

편집 # 1 : 수백만 개의 파일이 포함 된 4TB 볼륨에서 테스트 할 때 약 650 만 개의 파일을 인덱싱 한 후 WinDirStat Portable가 충돌 한 것을 발견했습니다. 드라이브에 6 백만 개 이상의 파일이 포함되어 있으면 원래 질문에 대해 작동하지 않을 수 있습니다.

편집 # 2 : WinDirStat의 정식 버전은 1,000 만 파일에서 충돌하며 1.9GB 사용

편집 # 3 : WinDirStat 개발자와 연락을 취했으며 (1) x86 아키텍처의 메모리 사용 제한으로 인해 발생한다는 데 동의하고 (2) 오류없이 64 비트로 컴파일 할 수 있다고 언급했습니다. 더 빨리

편집 # 4 : WinDirStat의 64 비트 빌드 테스트에 성공했습니다. 44 분 만에 1140 만 개의 파일을 인덱싱하고 2.7GB의 RAM을 소비했습니다.


이식 가능한 환경에서 예기치 않은 제한이 발생했을 수 있으므로 일반 버전을 사용해 보는 것이 좋습니다. 나는 그것을 직접 시험 할 입장이 아니다. windirstat.info
John Gardeniers

실제로 일반 버전은 1,000 만 개 이상의 파일과 1.9GB RAM 사용으로 죽습니다. 2GB 이상을 할당 할 수 없다고 생각합니다. 상당히 많은 RAM (파일 당 거의 200 바이트)을 사용하는 것에 놀랐지 만, 다시 한 번, 개별 바이트가 오늘날보다 훨씬 더 소중한 시대에 자랐습니다 ...
Skyhawk

나는 WinDirStat를 많이 사용합니다. 불행히도 많은 수의 파일에 들어갈 때 잘리지 않습니다.
Nathan Palmer

WinDirStat에 대한 개발자의 의견이 있으면 다시 듣고 싶습니다. RAM은 32 비트 또는 64 비트에서 나에게 제약이 될 것입니다.
Nathan Palmer

1
공식 빌드는 없지만 비공식 빌드를 보낼 수 있습니다. Visual Studio가 없으면 직접 롤링하는 것이 까다로울 수 있습니다! (my.name@gmail.com이 연락합니다)
Skyhawk


3

TreeSize 제품의 경우 +1이지만 ...

"충분한 공간을 청소하지 않음"에 대한 귀하의 문장은 다음과 같습니다. NTFS MFT 예약 공간이 부족할 수 있습니까? 파일 시스템이 처음 할당 된 것보다 더 많은 MFT 공간을 확보하면 일반 파일 공간으로 리턴되지 않으며 조각 모음 작업에 표시되지 않습니다.

http://support.microsoft.com/kb/174619

"작은 수의 비교적 큰 파일이있는 볼륨은 예약되지 않은 공간을 먼저 소모하는 반면, 상대적으로 작은 수의 파일이 많은 볼륨은 먼저 MFT 영역 공간을 소진합니다. 어느 경우이든 한 영역 또는 예약되지 않은 공간이 가득 차면 사용자 파일 및 디렉토리를위한 공간이 할당을 위해 MFT와 경쟁하는 MFT 영역에서 할당되기 시작합니다 .MFT 영역이 가득 차면 새 MFT 항목을위한 공간이 나머지 공간에서 할당됩니다. 다른 파일과 다시 경쟁합니다. "


확인하기 좋은 것 같습니다. 불행히도 조각 모음이 CHKDSK없이 분석되지 않고 CHKDSK가 현재 "지정되지 않은 오류가 발생하여"실패하기 때문에 MFT 크기를 볼 수 없습니다.
Nathan Palmer

3
  1. cd \
  2. 디렉토리 / s> out.txt
  3. of! 마술이 일어난다. 아니면 펄 해커가 나타난다
  4. 결과!

진심으로. 5 백만 또는 6 백만 개의 파일로이 작업을 수행했습니다. 정확히 당신이 찾고있는 것이 확실하지 않지만 좋은 스크립팅 언어가 이것을 먹을 것입니다.


Soo ... 펄 해커가 나타나지 않는다고 가정하고 3 단계에서 어떻게됩니까?
Nathan Palmer

필요한 것에 대한 자세한 정보를 게시 할 수 있습니까? 가장 큰 파일? 가장 큰 디렉토리? 날짜 / 시간 정보가 필요하십니까? 일회성 필요입니까, 아니면 되풀이됩니까?
SqlACID

지금은 한 번입니다. 어떤 디렉토리가 가장 큰 디렉토리인지 (dir + children) 알아야하지만, 그 정보가 유효하기 전에 몇 개의 디렉토리로 이동해야합니다. 그런 다음 최신 파일과 오래된 파일을 볼 수 있도록 날짜별로 파일을 분할해야합니다.
Nathan Palmer

3

나는 보통 Windows 사용자는 아니지만 Cygwin의 존재를 알고 있습니다. :-)

제대로 작동하면

du -m /your/path | sort -nr | head -n 50

또는 아마도 Cygwin에서

du C:\ | sort -nr | head -n 50

어쨌든, 그들은 당신에게 50 개의 가장 큰 디렉토리 (MB 단위)를 인쇄해야합니다.


2

Spacemonger에서 몇 가지 문제를 발견하고 유틸리티를 찾을 때 USB 스틱에서 쉽게 전송하거나 실행할 수 있습니다 .Space Sniffer 는 그와 관련하여 매우 다재다능한 것으로 나타 났으며 멀티 테라 바이트 볼륨을 쉽게 처리했습니다.


몇 개의 파일이있는 테라 바이트 급 볼륨? 우리의 주요 문제는 사용되는 공간이 아니라 프로그램이 처리 할 수있는 파일 수입니다. 대부분 천만에 질식하고 있습니다.
Nathan Palmer

실험에 몇 백만 개가 넘는 파일이있는 서버가 없으므로 천만 개의 파일 질문에 자신있게 대답 할 수 없었습니다.이 도구를 사용하면 시각화 할 디렉토리 깊이를 설정할 수 있습니다. happy medium을 누른 다음 필요한 폴더에 깊숙이 들어가면 시각화 작업을 수행하는 시간도 절약됩니다.




0

내 머리 뒤에서 mft 테이블을 살펴보면 원래 오픈 소스 버전 인 jkdefrag가 mft 영역의 다른 색상을 포함하여 매우 정확한 디스크 뷰를 제공 한 것으로 생각합니다. 나는 mft 크기와 조각화를 추측하는 규칙에 대해 한 번 사용했다고 생각합니다.

또한 chdsk를 신경 쓰지 않습니다.

시도해 볼 수 있습니까?


나는 그것을 시도했다. 분석을 실행하면 다른 프로그램의 대부분과 동일한 운명에 처하게됩니다. 메모리에 저장된 파일 / 폴더가 너무 많습니다.
Nathan Palmer

읽어서 죄송합니다. 플랫폼 문제인 것 같습니다. 다른 제안이 있습니다 : 어떻게 든 디스크를 미러링하십시오 (비트 이미지, 이미징 소프트 또는 하드웨어 미러). 리눅스 / 닉스. 이 시간은 투자 한 노동 시간과 관련하여 미러 드라이브 비용을 보증하는 데 충분한 시간을 소비했습니다.
deploymonkey


0

내가 사용했습니다 바오밥 - 디스크 사용 분석기 는 원격 Windows 서버에서 스캔 기능의 사용 리눅스에 있습니다. 그래도 한계가 무엇인지 모르겠습니다.

Fedora LiveCD 에는 Baobab이 포함되어 있습니다. LAN의 모든 컴퓨터에서 부팅하십시오.

맥주와 연설에서와 같이 모두 무료입니다. 또한 상업적 용도로도 사용됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.