2009-03-30 8 views
4

매우 느리게 실행되는 응용 프로그램을 디버깅하고 있습니다. 응용 프로그램은 로컬 하드 디스크에서 많은 양의 데이터 (절반 MB 당 약 1000 개의 파일)를로드합니다. 파일은 메모리 매핑 파일로로드되며 필요한 경우에만 매핑됩니다. 이는 특정 시점에서 가상 메모리 사용이 300MB를 초과하지 않는다는 것을 의미합니다.응용 프로그램과 시스템이 느려질 수있는 원인은 무엇입니까?

또한 sysinternals에서 handle.exe를 사용하여 핸들 수를 확인한 결과 최대 8000 개의 홀수 핸들이 열려있는 것으로 나타났습니다. 데이터가 언로드되면 약 400까지 떨어집니다. 각로드 및 언로드 작업 후에 핸들 누수가 없습니다.

로드가 언로드되는 동안 2-3로드 언로드 사이클이 지나면 시스템이 매우 느려집니다. 이 시점에서 응용 프로그램의 가상 메모리 사용량과 핸들 수를 확인했는데 한계 내에있었습니다 (VM 약 460MB 정도 많지 않음, 처리 횟수 3200).

응용 프로그램이 시스템 응답 속도를 저하시키는 방법을 원하십니까? 이 시나리오를 디버깅하는 데 사용할 수있는 다른 도구는 무엇입니까?

좀 더 구체적으로 말하자면, 시스템을 의미 할 때 느려지는 전체 창입니다. 작업 관리자 자체는 2 분이 걸리며 대부분의 경우 하드 재부팅이 필요합니다.

+0

더 구체적으로 말하자면, 시스템을 의미 할 때 느려지는 전체 창입니다. 작업 관리자 자체는 최대 2 분이 소요되며 대부분 하드 재부팅이 필요합니다. – Canopus

답변

0

"IBM Rational Quantify"또는 "Intel VTune"과 같은 도구를 사용하여 성능 문제를 감지합니다.
[편집]
Benoît처럼, 하나의 좋은 의미는 CPU를 먹고있는 것을 식별하는 작업 시간을 측정하는 것입니다.
그러나 많은 파일로 작업 할 때 메모리가 디스크 스왑으로 인해 손실 될 수 있습니다.

0

당신이 프로파일이없는 경우, 당신은 손으로 같은 작업을 수행 할 수 있습니다 ...

은 그냥 천천히 아래로 사라 여부를 확인하기 위해, 모든 읽기/쓰기 작업을 주석 봤어? "나누기 및 정복"전략은 문제가있는 곳을 찾는 데 도움이됩니다.

0

IDE에서 실행하는 경우 실제 속도가 느려질 때까지 실행 한 다음 "일시 중지"버튼을 누르십시오. 많은 시간이 걸리는 일을하는 동안 당신은 그것을 잡을 것입니다.

0

작업 관리자가 올라 오는데 2 분이 걸릴 때 많은 디스크 활동을하고 있습니까? 또는 cpu-bound입니까?

나는 sysinternals에서 프로세스 탐색기를 시도 할 것입니다. 시스템 속도가 느린 상태에서 메모장을 실행하려고하면 페이지 오류 델타에주의하십시오.

1

도구는이 시점에서 사용할 수 있습니다 일들이 시스템에 일어날 때

  • 이벤트 뷰어 내 경험에
  • 이 팝업에서 작업 관리자를 방지하는

    • 성능 모니터, 그들은 ' 일반적으로 하드웨어 다양성 - 이벤트 뷰어의 시스템 이벤트 로그를 검사 할 때 일부 하드웨어 장치가 시간 초과되어 경고 또는 오류로 가득 차는 경우가 있습니다.

      이벤트 뷰어에 속도 저하를 일으키는 모든 종류의 로그 가능한 하드웨어 오류가 표시되지 않으면 Perfmon - 시스템 개체에 대한 카운터 추가 기능을 사용하여 파일 읽기, 예외, 컨텍스트 스위치 등을 추적하십시오.초당 몇 가지 명백한 것이 있는지 확인하십시오.

      솔직히 말하면 사용자 모드 코드가 발생하도록 설계된 동작은 불가능합니다. WinNT는 응용 프로그램을 서로 차단하고 불량 응용 프로그램이 시스템을 사용할 수 없게하는 것을 방지하기 위해 많은 노력을 기울이고 있습니다. 그래서 내 의심은 하드웨어 오류의 일종이다 비난하는 것입니다. 다른 PC에서 동일한 테스트를 간단하게 실행할 수 있습니까?

    1

    전체 시스템의 속도가 느려지는 것은 매우 성가 시며 프로파일 러를 쉽게 부착 할 수 없다는 것을 의미합니다. 또한 프로파일 링 세션을 중지하여 결과를 볼 수도 없다는 것을 의미합니다. 하드 재부팅 필요).

    이 상황에서 작업에 적합한 가장 좋은 도구는 ETW (이벤트 Windows 용 추적)이 도구는 당신에게 당신이

    찾고있는 정확한 답을 줄 것이다, 큰 여기에

    을을 확인하다 이 작품 http://msdn.microsoft.com/en-us/library/cc305210.aspxhttp://msdn.microsoft.com/en-us/library/cc305221.aspxhttp://msdn.microsoft.com/en-us/performance/default.aspx

    희망. 감사합니다.

    0

    Windows는 파일 데이터를 캐싱하는 것에 대해 매우 욕심이 있습니다. 다른 사람이 제안한대로 파일 I/O를 제거하고 파일을 완료하자마자 파일 매핑을 닫는 것을 확인합니다. 특히 OS와 동일한 디스크에 파일이있는 경우 I/O가 속도 저하의 원인이 될 수 있습니다. 테스트 할 수있는 또 다른 방법은 파일을 다른 디스크로 옮기고 문제가 완화되는지 확인하는 것입니다.

    관련 문제