제 호스트 회사에서 2 개 이상의 닷넷 응용 프로그램이 있습니다. 이 두 응용 프로그램은 동일한 풀을 사용하며 최대 메모리는 300MB입니다.웹 응용 프로그램에서 너무 많은 메모리를 사용합니다.
응용 프로그램 중 하나의 시작 페이지를 약 10 회 새로 고칠 수 있습니다. 그런 다음 메모리 부족 예외가 발생하고 풀이 손상됩니다.
PrivateMemorySize64 : 197 804.00 KB (193.00 MB)
PeakPagedMemorySize64 247 220.00 KB (241.00 MB)
VirtualMemorySize64 내 적용에
난이 메모리 값을 출력 (27) 327 128.00 KB (26 686.00 MB)
PagedMemorySize64 : 804.00 197 킬로바이트 (193.00 MB)
PagedSystemMemorySize64 : 415.00 KB (0.00 MB)
PeakWorkingSet64 109 196.00 KB (106.00 MB)
WorkingSet64 61 KB 196.00 (59.00 MB)
0,123,GC.GetTotalMemory (참) : 2 960.00 KB (2.00 MB)
GC.GetTotalMemory (거짓) : 2 968.00 KB (2.00 MB) 내가 읽고
, 읽고 메모리 프로파일 링에 대한 본 비디오를 읽고 ,하지만 난 내 응용 프로그램의 프로파일 링 할 때 어떤 문제를 찾을 수 없습니다. 내가 ANTS 메모리 프로파일 (8)을 사용하고 내가 빌드 후 시작 페이지를 한 번 새로 고칠 때이 결과를 얻을 : 내가 요약을 볼 때 a http://oi60.tinypic.com/21l057c.jpg
는, .NET은 135.8 MB의 41.65 MB를 사용하는 전체 개인 바이트가에 할당 신청. 이 값은 새로 고침 할 때마다 커집니다. 그게 정상인가요? 내가 8 시간 새로 고침 때이 얻을 : .NET 응용 프로그램에 할당 된 153 MB 총 개인 바이트 중 56.11 MB 사용하고 있습니다.
어디에서 시작해야합니까? 너무 많은 메모리를 사용하는 문제가 무엇일 수 있습니까? 메모리가 300MB로 낮습니까?
모두 코드에 따라 다릅니다. 모든 것에 대해'Dispose'라고 부르십시오. 데이터베이스 연결이있는 경우 'Dispose'체인의 연결을 닫아야합니다. – krillgar