2013-07-04 2 views
0

Sybase Ase 데이터베이스에서 읽은 레코드를 전송하고 새로 생성 된 로컬 Sybase Asa 데이터베이스를 작성하는 응용 프로그램을 작성했습니다. 전송할 레코드는 거의 110,000 개입니다.데이터 전송시 "메모리 부족"오류가 발생했습니다.

내 로컬 컴퓨터에서 응용 프로그램이 성공적으로 실행되지만 (Windows7- 32 비트 - 3GB 램), 개발 서버 (Windows Server 2008 - 64 비트 - 8GB 램)에서 "내 메모리가 부족합니다"오류가 발생합니다.

  • 레코드 개수가 ~ 40.000을하고있다 "작업 세트 - 개인"~ 1.800.000kb이 (2,8gb)
  • GC 총 메모리 점진이 안정된이다
  • 여기 내 로그 흐름

;

  • 자세한 정보 작업 설정 - 개인 : 507948K, GC GetTotalMemory : 49229720
  • 자세한 정보 작업 설정 - 개인 : 918620K, GC GetTotalMemory : 51377000
  • 자세한 정보 작업 설정 - 개인 : 1328568K, GC GetTotalMemory : 52245316
  • 자세한 정보 작업 설정 - 개인 : 1739128K, GC GetTotalMemory : 52,978,364 자세한 정보 작업 설정
  • - 개인 : 1813940K, GC GetTotalMemory : 51,567,670 메모리 부족
  • -

또한 로컬 sybase 데이터베이스를 생성하기위한이 배치 파일.

set dbToolsPath=%1 
set dbDirectory=%2 
set scriptsDirectory=%3 
set dbNameWOExtension=%4 

REM Add trailing back slashes if necessary 
IF NOT %dbToolsPath:~-1%==\ SET dbToolsPath=%dbToolsPath%\ 
IF NOT %dbDirectory:~-1%==\ SET dbDirectory=%dbDirectory%\ 
IF NOT %scriptsDirectory:~-1%==\ SET scriptsDirectory=%scriptsDirectory%\ 

set mfgDBFilePath=%dbDirectory%%dbNameWOExtension%.db 
set mfgDBLogFilePath=%dbDirectory%%dbNameWOExtension%.log 
REM Following four lines can be moved to code 
attrib -R  %mfgDBFilePath% 
del    %mfgDBFilePath% 
attrib -R  %mfgDBLogFilePath% 
del   %mfgDBLogFilePath% 

REM TODO: Add explanation about the switches 
cd /d %scriptsDirectory% 
**%dbToolsPath%dbinit.exe -n -p 4096 -z 1252LATIN1 %mfgDBFilePath% 
%dbToolsPath%dbspawn.exe -p dbeng10 -n WfDBServer %mfgDBFilePath% 
%dbToolsPath%dbisql.exe -c "eng=WfDBServer;dbn=%dbNameWOExtension%;uid=dba;pwd=sql" -nogui PE_WfDB_MFG.sql 
%dbToolsPath%dbstop.exe -c "eng=WfDBServer;uid=dba;pwd=pluto" -y** 

이들은 획득 한 지식이지만이 오류로 인해 전송이 중단 된 이유를 이해할 수 없습니다. 내 컴퓨터에서 모든 것이 괜찮습니까? 서버에서 다를 수있는 것은 무엇입니까? 문제를 어디에서 찾아야합니까? 또한 나는 개인의 증분을 어떻게 설명해야합니까?

답변

1

아마도이 문제는 프로젝트 구성에서 잘못된 플랫폼 (x86 임)으로 인한 것일 수 있습니다. AnyCPU 또는 x64를 플랫폼으로 선택하고 응용 프로그램을 다시 빌드 할 수 있습니다. 표시된 대답을 참조하십시오. .NET Out Of Memory Exception - Used 1.3GB but have 16GB installed

+0

감사합니다. kiran! 그것은 효과가있다. 너는 나에게 좋은 차례를했다 :) – htcdmrl

관련 문제