2011-01-21 9 views
3

要求中にデータを送信中に、私が知ることができるSystem.OutOfMemoryExceptionをスローしているサーバーがあります。この痕跡を見て、私の仮定は正しいのですか?要求中にWCFを使用したSystem.OutOfMemoryException

System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. 
    at System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult lazyResult) 
    at System.Net.Security.NegotiateStream.AuthenticateAsServer(NetworkCredential credential, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel requiredImpersonationLevel) 
    at System.ServiceModel.Channels.WindowsStreamSecurityUpgradeProvider.WindowsStreamSecurityUpgradeAcceptor.OnAcceptUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity) 
    at System.ServiceModel.Channels.StreamSecurityUpgradeAcceptorBase.AcceptUpgrade(Stream stream) 
    at System.ServiceModel.Channels.InitialServerConnectionReader.UpgradeConnection(IConnection connection, StreamUpgradeAcceptor upgradeAcceptor, IDefaultCommunicationTimeouts defaultTimeouts) 
    at System.ServiceModel.Channels.ServerSessionPreambleConnectionReader.ServerFramingDuplexSessionChannel.OnOpen(TimeSpan timeout) 
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
    at System.ServiceModel.Channels.CommunicationObject.Open() 
    at System.ServiceModel.Dispatcher.ChannelHandler.OpenAndEnsurePump() 
    at System.ServiceModel.Dispatcher.ChannelHandler.OpenAndEnsurePump(Object state) 
    at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke2() 
    at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.OnSecurityContextCallback(Object o) 
    at System.Security.SecurityContext.Run(SecurityContext securityContext, ContextCallback callback, Object state) 
    at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke() 
    at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ProcessCallbacks() 
    at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.CompletionCallback(Object state) 
    at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped) 
    at System.ServiceModel.Diagnostics.Utility.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped) 
    at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP) 

私の設定ファイルにはmaxArrayLengthとmaxStringContentLengthが本当に高く設定されています。これらのうちの1つが非常に巨大で、チャネルにこのエラーが発生する可能性はありますか?これは、IPCを介して別のプロセスとローカルで通信している.NET WCFサービスです。

+0

を見てみたいかもしれませんが、あなたは最大の制限があることを知っています。 – VoodooChild

+1

送信しているペイロードはどれくらいですか? –

+0

これは散発的ですか、具体的なメッセージが原因ですか? –

答えて

3

これは生産上の問題であり、異なる場所で起こっていることを散発的に想像していますが、メモリ使用率の問題が高いと思います。私は、システムのメモリダンプを取得し、WinDbgを使用してこれを引き起こしているかどうかを確認します。

proc dumpまたはDebug Diagを使用して、これを行うことができます(ただし、必要なものに応じて32ビットまたは64ビットを使用してください)。

あなたが前にメモリ上の分析をやったことがない(とその本当に簡単ではない)した場合、あなたは `本当にhigh`で何this article

関連する問題