DA0014: 활성 메모리를 디스크에 페이징하는 비율이 극도로 높습니다.DA0014: Extremely high rates of paging active memory to disk

규칙 IDRule Id DA0014DA0014
범주Category 메모리 및 페이징Memory and Paging
프로파일링 방법Profiling method 모두All
메시지Message 활성 메모리를 디스크에 페이징하는 비율이 극도로 높습니다.An extremely high rate of paging active memory to disk is occurring. 응용 프로그램이 메모리 바인딩될 수 있습니다.Your application may be memory-bound.
규칙 유형Rule type 경고Warning

샘플링, .NET 메모리 또는 리소스 경합 방법을 사용하여 프로파일링할 경우 이 규칙을 트리거하려면 25개 이상의 샘플을 수집해야 합니다.When you profile by using the sampling, .NET memory, or resource contention methods, you must collect at least 25 samples to trigger this rule.

원인Cause

프로파일링 실행에서 수집된 시스템 성능 데이터는 프로파일링 실행 내내 디스크를 대상으로 한 활성 메모리 페이징의 비율이 극도로 높다는 것을 나타냅니다.System performance data that was collected in the profiling run indicates that an extremely high rate of paging active memory to and from the disk occurred throughout the profiling run. 이 수준의 페이징 비율은 대개 응용 프로그램 성능 및 응답성에 영향을 미칩니다.Paging rates at this level usually impacts application performance and responsiveness. 알고리즘을 수정하여 메모리 할당을 줄여 보세요.Consider reducing memory allocations by revising algorithms. 응용 프로그램의 메모리 요구 사항을 고려해야 할 수도 있습니다.You might also have to consider the memory requirements of your application. 컴퓨터에서 프로파일링을 실행하려면 더 많은 메모리가 필요합니다.running profiling again on a computer with more memory.

규칙 설명Rule Description

디스크에 대한 지나친 페이징의 원인은 실제 메모리가 부족하기 때문일 수 있습니다.Excessive paging to disk can be caused by a shortage of physical memory. 페이징 파일이 있는 실제 디스크가 페이징 작업에 주로 사용된다면 같은 디스크에 대한 다른 응용 프로그램 기반 디스크 작업이 느려질 수 있습니다.If paging operations dominate use of the physical disk where the paging file resides, they can slow down other application-oriented disk operations to the same disk.

대량 페이징 작업에서는 빈번하게 페이지를 디스크에서 읽고 디스크에 씁니다.Frequently, pages are read from the disk or written to the disk in bulk paging operations. 예를 들어 Pages Output/sec 수는 Page Writes/sec 수보다 훨씬 더 큰 경우가 많습니다.The number of Pages Output/sec is frequently much larger than the number of Page Writes/sec, for example. Pages Output/sec에는 시스템 파일 캐시의 변경된 데이터 페이지가 포함되기 때문입니다.Because Pages Output/sec also includes changed data pages from the system file cache. 그러나 어떤 프로세스가 페이징을 직접 처리하는지 확인하는 것이 쉽지 않을 수도 있습니다.However, it is not always easy to determine which process is directly responsible for the paging or why.

참고

활성 메모리의 페이징 수준이 매우 높은 비율에 도달하면 이 규칙이 실행됩니다.This rule fires when levels of paging of active memory reach a very high rate. 페이징 수준이 높지만 지나치지 않을 경우에는 정보 규칙 DA0017: 디스크에 대한 높은 활성 메모리 페이징 비율이 대신 실행됩니다.When the level of paging is significant, but not extreme, the informational rule DA0017: High rates of paging active memory to disk fires instead.

위반 문제를 해결하는 방법How to Fix Violations

[오류 목록] 창에서 메시지를 두 번 클릭하여 표시 뷰로 이동합니다.Double-click the message in the Error List window to navigate to the Marks view. Memory\Pages/sec 열을 찾습니다.Find the Memory\Pages/sec column. 다른 단계보다 페이징 IO 활동이 더 빈번한 특정 프로그램 실행 단계가 있는지 확인합니다.Determine if there are specific phases of program execution where paging IO activity is heavier than others.

부하 테스트 시나리오에서 ASP.NET 응용 프로그램에 대한 프로필 데이터를 수집할 경우 추가적인 실제 메모리(또는 RAM)가 구성된 컴퓨터에서 부하 테스트를 다시 실행해 보세요.If you are gathering profile data for an ASP.NET application in a load testing scenario, try running the load test again on a machine configured with additional physical memory (or RAM).

알고리즘을 수정하고 메모리를 많이 사용하는 String.Concat, String.Substring 등의 API 사용을 줄이는 방식으로 메모리 할당을 줄여 보세요.Consider reducing memory allocations by revising algorithms and avoiding memory-intensive APIs such as String.Concat and String.Substring.