ID별 성능 규칙Performance Rules by ID

경고Warning 설명Description
DA0001: 연결에 StringBuilder를 사용하십시오.DA0001: Use StringBuilder for concatenations System.String.Concat 호출이 프로파일링 데이터의 상당한 부분을 차지합니다.Calls to System.String.Concat are a significant proportion of the profiling data. 여러 세그먼트에서 문자열을 구성할 때 <xref:System.Text.StringBuilder> 클래스를 사용해 보세요.Consider using the <xref:System.Text.StringBuilder> class to construct strings from multiple segments.
DA0002: VSPerfCorProf.dll이 없습니다.DA0002: VSPerfCorProf.dll is missing 프로파일러는 프로파일링 실행 중 VSPerfCorProf.dll을 찾을 수 없습니다.The profiler could not find VSPerfCorProf.dll during the profiling run. 이 경고는 필요한 환경 변수를 초기화할 VSPerfCLREnv.cmd 도구를 사용하지 않고 프로파일러 데이터 컬렉션에 대한 명령줄 도구를 사용하는 경우에 발생합니다.This warning occurs when command-line tools for the collection of profiler data are used without using the VSPerfCLREnv.cmd tool to initialize the necessary environment variables.
DA0003: 커널 샘플이 많습니다.DA0003: Many kernel samples 응용 프로그램에 대해 수집된 호출 스택 샘플의 상당 비율이 커널 모드에서 실행되었습니다.A significant proportion of the call stack samples collected for the application were executing in kernel mode. 다른 프로파일링 방법을 사용하여 응용 프로그램을 프로파일링하는 것이 좋습니다.Consider profiling your application by using a different profiling method.
DA0004: 프로세서 사용률이 높습니다.DA0004: High processor usage 계측 방법을 사용하여 수집된 프로파일링 데이터에서 프로세서(CPU) 사용률이 상당히 높았습니다.Processor (CPU) utilization was significantly high in profiling data that was collected using the instrumentation method. CPU 바인딩된 응용 프로그램을 프로파일링할 경우 샘플링 프로파일링 방법을 사용해 보세요.Consider using the sampling profiling method when profiling a CPU bound application.
DA0005: GC2 컬렉션이 많습니다.DA0005: Frequent GC2 collections 많은 .NET 메모리 개체가 2세대 가비지 수집에서 회수됩니다.A high number of .NET memory objects are being reclaimed in generation 2 garbage collection.
DA0006: 값 형식에 대해 Equals()를 재정의하십시오.DA0006: Override Equals() for value types Equals 메서드 또는 공개 값 형식의 같음 연산자에 대한 호출이 프로파일링 데이터의 상당한 부분을 차지합니다.Calls to the Equals method or the equality operators of a public value type are a significant proportion of the profiling data. 더 효율적인 메서드를 구현해 보세요.Consider implementing a more efficient method.
DA0007: 제어 흐름에는 예외를 사용하지 마십시오.DA0007: Avoid using exceptions for control flow 프로파일링 데이터에서 .NET Framework 예외 처리기가 호출되는 비율이 높았습니다.A high rate of .NET Framework exception handlers were called in the profiling data. throw되는 예외 수를 줄일 때 다른 제어 흐름 논리를 사용해 보세요.Consider using other control flow logic to reduce the number of exceptions that are thrown.
DA0008: 수집되는 샘플 수가 적습니다.DA0008: Few samples collected 프로파일링 실행에서 샘플이 몇 개만 수집되었습니다.Only a few samples were collected in the profiling run. 보다 의미 있는 결과를 위해 실행 시간을 늘리거나 샘플링 주기를 더 빠르게 해보세요.Consider a longer run or faster sampling rate for more significant results.
DA0009: 높은 % Time in JITDA0009: High % time in JIT 응용 프로그램 실행 시간의 상당 부분을 JIT(Just-In-Time) 컴파일러에서 사용합니다.A significant percentage of application execution time was spent in the Just In Time (JIT) compiler.
DA0010: GetHashCode의 부담이 큽니다.DA0010: Expensive GetHashCode 해당 형식의 GetHashCode 메서드 호출이 프로파일링 데이터의 상당한 부분을 차지하거나 메서드가 메모리를 할당합니다.Calls to the GetHashCode method of the type are a significant proportion of the profiling data or the method allocates memory.
DA0011: CompareTo의 부담이 큽니다.DA0011: Expensive CompareTo 해당 형식의 CompareTo 메서드가 부담이 크거나 메모리를 할당합니다.The CompareTo method of the type is expensive or allocates memory.
DA0012: 리플렉션 양이 많습니다.DA0012: Significant amount of Reflection InvokeMember, GetMember 등의 System.Reflection 메서드 호출이나 MemberInvoke 등의 Type 메서드 호출이 프로파일링 데이터의 상당한 부분을 차지합니다.Calls to the System.Reflection methods such as InvokeMember and GetMember or to Type methods such as MemberInvoke are a significant proportion of the profiling data. 가능할 경우 이러한 메서드를 종속 어셈블리의 메서드에 대한 초기 바인딩으로 바꿔 보세요.When you can, consider replacing these methods with early binding to the methods of dependent assemblies.
DA0013: String.Split 또는 String.Substring 사용률이 높습니다.DA0013: High usage of String.Split or String.Substring System.String.Split 또는 System.String.Substring 메서드 호출이 프로파일링 데이터의 상당한 부분을 차지합니다.Calls to the System.String.Split or System.String.Substring methods are a signifiicant portion of the profiling data. 문자열에 부분 문자열이 있는지 테스트할 경우 System.String.IndexOf 또는 System.String.IndexOfAny를 사용해 보세요.Consider using System.String.IndexOf or System.String.IndexOfAny if you are testing for the existence of a substring in a string.
DA0014: 활성 메모리를 디스크에 페이징하는 비율이 높습니다.DA0014: Extremely high rates of paging active memory to disk 프로파일링 실행에서 수집된 시스템 성능 데이터는 프로파일링 실행 내내 디스크를 대상으로 한 활성 메모리 페이징의 비율이 극도로 높다는 것을 나타냅니다.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 will impact 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 that has more memory.
DA0017: 활성 메모리를 디스크에 페이징하는 비율이 높습니다.DA0017: High rates of paging active memory to disk 프로파일링 실행에서 수집된 시스템 성능 데이터는 프로파일링 실행 내내 디스크를 대상으로 한 활성 메모리 페이징의 비율이 높다는 것을 나타냅니다.System performance data that was collected in the profiling run indicates that an high rate of paging active memory to and from the disk occurred throughout the profiling run. 이 수준의 페이징 비율은 일반적으로 응용 프로그램 성능 및 응답성에 영향을 미칩니다.Paging rates at this level usually will impact 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 that has more memory.
DA0018: 32비트 응용 프로그램이 프로세스 관리 메모리 제한에 근접하고 있습니다.DA0018: 32-bit Application running at process managed memory limits 프로파일링 실행 중에 수집된 시스템 데이터는 .NET Framework 메모리 힙이, 관리되는 힙이 32비트 프로세스로 커질 수 있는 최대 크기에 도달했음을 나타냅니다.System data that was collected during the profiling run indicates the .NET Framework memory heaps approached the maximum size the managed heaps can grow to in a 32-bit process. 보고된 값은 프로파일링된 프로세스가 활성화되는 동안 관찰된 힙의 최대값입니다.The value reported is the maximum observed value of the heaps while the profiled process being was active. 응용 프로그램에 의해 관리되는 리소스의 사용을 최적화하는 것이 좋습니다.Consider optimizing the use of managed resources by the application.
DA0021: Gen 1 가비지 수집의 비율이 높습니다.DA0021: High rate of Gen 1 garbage collections 프로파일링 중에 수집된 시스템 성능 데이터는 0세대 데이터 수집에 비해 .NET Framework 개체용 메모리의 상당한 부분이 가비지 수집의 1세대에서 회수되었음을 나타냅니다.System performance data that was collected during profiling indicate that a significant proportion of the memory for.NET Framework objects was reclaimed in generation 1 of garbage collection compared to generation 0 data collection.
DA0022: Gen 2 가비지 수집의 비율이 높습니다.DA0022: High rate of Gen 2 garbage collections 프로파일링 중에 수집된 시스템 성능 데이터는 0세대 및 1세대 가비지 수집에 비해 .NET Framework 개체용 메모리의 상당한 부분이 가비지 수집의 2세대에서 회수되었음을 나타냅니다.System performance data that was collected during profiling indicate that a significant proportion of the memory for.NET Framework objects was reclaimed in generation 2 of garbage collection compared to generation 0 and generation 1 garbage collections.
DA0023: GC CPU 시간이 깁니다.DA0023: High GC CPU time 프로파일링 중에 수집되는 시스템 성능 데이터가 가비지 수집에 걸린 시간이 총 응용 프로그램 처리 시간에 비해 크다는 것을 나타냅니다.System performance data that was collected during profiling indicates that the amount of time spent in garbage collection is significant compared with the total application processing time.
DA0024: GC CPU 시간이 너무 깁니다.DA0024: Excessive GC CPU Time 프로파일링 중에 수집된 시스템 성능 데이터가 가비지 수집에 걸린 시간이 총 응용 프로그램 처리 시간에 비해 너무 크다는 것을 나타냅니다.System performance data that was collected during profiling indicates that the amount of time spent in garbage collection is excessively high compared with the total application processing time.
DA0026: 커널 CPU 시간 처리 수준이 너무 높습니다.DA0026: Excessive kernel CPU time processing 커널 모드에서 실행된 CPU 시간이 사용자 모드에서 걸린 시간을 초과했습니다.The proportion CPU time that was executed in kernel mode exceeded the amount of time spent in user mode. 다시 프로파일링하고 시스템 호출(syscall) 수를 샘플링하여 높은 커널 모드 실행 시간의 원인을 확인해 보세요.Consider profiling again and sampling the number of system calls (syscalls) to determine the cause of the high kernel mode execution times.
DA0029: 지원되지 않는 CLR 버전입니다.DA0029: Unsupported CLR Version 프로파일링 도구에서 지원되지 않는 .NET Framework 버전 1.1을 사용하는 응용 프로그램 프로파일링하려고 합니다.You are trying to profile an application that uses the .NET Framework version 1.1 that is not supported by the Profiling Tools.
DA0030: 데이터베이스 개체의 계층 상호 작용 측정값을 수집하십시오.DA0030: Gather Tier Interaction measurements for database projects <xref:System.Data> 메서드 호출이 프로파일링 데이터의 상당한 부분을 차지하고 프로파일링 실행에서 상호 작용 데이터를 수집하지 않았습니다.Calls to <xref:System.Data> methods are a significant proportion of the profiling data and you have not collected tier interaction data in the profiling run. 다시 프로파일링하고 계층 상호 작용 데이터를 추가해 보세요.Consider profiling again and adding tier interaction data.
DA0038: 잠금 경합의 비율이 높습니다.DA0038: High Rate of Lock contentions 프로파일링 데이터와 함께 수집되는 시스템 성능 데이터가 응용 프로그램 실행 중에 발생한 잠금 경합의 비율이 상당히 높다는 것을 나타냅니다.System performance data that is collected with the profiling data indicates that a significantly high rate of lock contentions occurred during application execution. 동시성 프로파일링 방법을 통해 다시 프로파일링하여 경합의 원인을 찾아 보세요.Consider profiling again using the concurrency profiling method to find the cause of the contentions.
DA0039: 잠금 경합의 비율이 매우 높습니다.DA0039: Very High Rate of Lock contentions 프로파일링 데이터와 함께 수집되는 시스템 성능 데이터가 응용 프로그램 실행 중에 발생한 잠금 경합의 비율이 지나치게 높다는 것을 나타냅니다.System performance data that is collected with the profiling data indicates that an excessively high rate of lock contentions occurred during application execution. 동시성 프로파일링 방법을 통해 다시 프로파일링하여 경합의 원인을 찾아 보세요.Consider profiling again using the concurrency profiling method to find the cause of the contention.
DA0501: 프로파일링되고 있는 프로세스의 평균 CPU 사용입니다.DA0501: Average CPU consumption by the Process being profiled. 이 메시지는 응용 프로그램에서 명령을 실행할 때 프로세서가 사용 중이었던 시간의 백분율을 보고합니다.This message reports the percentage of time that a processor was busy executing instructions from the application. 보고된 값은 프로파일링되는 프로세스가 활성 상태였던 모든 측정 간격에 대한 평균입니다.The reported value is the average over all the measurement intervals in which the process being profiled was active. 프로세서가 두 개 이상 있는 컴퓨터에서 이 값은 100%보다 클 수 있습니다.The value of value can be greater than 100% on a machine with more than one processor.
DA0502: 프로파일링되고 있는 프로세스의 최대 CPU 사용입니다.DA0502: Maximum CPU consumption by the Process being profiled 이 메시지는 응용 프로그램에서 명령을 실행할 때 프로세서가 사용 중이었던 시간의 최대 백분율을 보고합니다.This message reports the maximum percentage of time that a processor was busy executing instructions from the application. 보고된 값은 프로파일링되는 프로세스가 활성 상태였던 모든 측정 간격 중에 보고된 최대값입니다.The reported value is the maximum value reported among all the measurement intervals in which the process being profiled was active. 프로세서가 두 개 이상 있는 컴퓨터에서 이 백분율은 100%보다 클 수 있습니다.The percentage can be greater than 100% on a machine with more than one processor.
DA0503: 프로파일링되고 있는 프로세스의 평균 작업 집합(바이트 단위)입니다.DA0503: Average Working Set in Bytes for the Process being profiled 이 메시지는 프로세스가 현재 사용 중인 실제 메모리의 평균 크기(바이트)를 보고합니다(작업 집합).This message reports the average amount of physical memory that the process is currently using in bytes (the working set). 프로세스 작업 집합은 현재 실제 메모리에 있는 프로세스 주소 공간의 페이지를 나타냅니다.The process working set represents pages from the process address space that currently reside in physical memory.
DA0504: 프로파일링되고 있는 프로세스의 최대 작업 집합(바이트 단위)입니다.DA0504: Maximum Working Set in Bytes for the Process being profiled 이 메시지는 프로세스가 현재 사용 중인 실제 메모리의 최대 크기(바이트)를 보고합니다.This message reports the maximum amount of physical memory that the process is currently using in bytes. 프로세스 작업 집합은 현재 실제 메모리에 있는 프로세스 주소 공간의 페이지를 나타냅니다.The process working set represents pages from the process address space that currently reside in physical memory. 이 규칙은 프로파일링이 활성화된 동안 프로세스 작업 집합의 최대값을 보고합니다.This rule reports the maximum value for the process working set while profiling was active.
DA0505: 프로파일링되고 있는 프로세스에 할당된 평균 전용 바이트입니다.DA0505: Average Private Bytes allocated for the Process being profiled 이 메시지는 프로세스가 현재 할당한 가상 메모리의 평균 크기(바이트)를 보고합니다(전용 바이트).This message reports the average amount of virtual memory that the process has currently allocated in bytes (Private bytes). 전용 바이트는 프로세스 내에서 실행되는 스레드만 액세스할 수 있는, 프로세스에 의해 할당된 가상 메모리 위치를 나타냅니다.Private bytes represents virtual memory locations that were allocated by the process that can only be accessed by threads running inside the process.
DA0506: 프로파일링되고 있는 프로세스에 할당된 최대 전용 바이트입니다.DA0506: Maximum Private Bytes allocated for the Process being profiled 이 메시지는 프로세스가 현재 할당한 가상 메모리의 최대 크기(바이트)를 보고합니다(전용 바이트).This message reports the maximum amount of virtual memory that the process has currently allocated in bytes (Private bytes). 전용 바이트는 프로세스 내에서 실행되는 스레드만 액세스할 수 있는, 프로세스에 의해 할당된 가상 메모리 위치를 나타냅니다.Private bytes represents virtual memory locations that were allocated by the process that can only be accessed by threads running inside the process.