問題タブ [memory-dump]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c#-4.0 - Java のスレッド ダンプに相当する .Net 4
.Net4 に相当するスレッド ダンプはありますか。Microsoft の MSE を使用してみましたが、これは .Net4.0 用にコンパイルされたアプリケーションを認識しません
compact-framework - メモリ ダンプ - Windows CE
.NET/Windows CE 5.0 アプリケーションを使用するクライアント サイトで問題が発生しています。もちろん、問題を再現することはできませんし、クライアントも正確な再現方法を知りません。完全な .NET Framework で .NET の問題をデバッグするために SOS/WinDbg を使用した経験があります。WinDbg でデバッグを試みることができるように、WinCE 5.0 プロセスのメモリ ダンプを取得する方法があるかどうか疑問に思っていました。
.net - .NETプロセスのメモリダンプから最大のオブジェクト(ドミネーター)を調査します
スローされたSystem.OutOfMemoryExceptionでDebugDiagによって作成された.NETプロセスのメモリダンプがあります。今、私はどのオブジェクトが予想よりも多くのメモリを保持しているかを把握しようとしています。
このダンプをwindbg+sosで開き、浅いオブジェクトサイズ統計などの簡単な分析を実行し、特定のオブジェクトを調査することは可能ですが、それではほとんど何も得られません。最大のドミネーター、ドミネーターツリー、特定のオブジェクトによって保持されている保持されたメモリなどに興味があります。このためのツールはありますか?
sql-server - メモリダンプからデッドロックしたxaction内のすべてのSQLステートメントを検索します
環境:
SQL Server 2008 r2
Windows764ビット
Windbg64ビット
私がすでに知っていること
サーバー側のプロファイラートレースを実行し、デッドロックが発生するとすぐに停止することで、このトランザクションでsqlstmtsを見つけることができます。次に、トレースファイルでトランザクションIDを検索します。ただし、これはブルートフォース方式であり、実稼働環境で常に実行できるとは限りません。
マイクロソフトにメモリダンプを送信して、それを分析する必要があることはわかっています。しかし、私的なシンボルなしでこれを解決する希望があれば、私は私たちを見つけたいと思います。
問題:
2つのトランザクションがデッドロックしたときにSQLサーバーで拡張イベントを使用してメモリダンプを作成します(lock_deadlockイベント)。
このデッドロックシナリオは、ManagementStudioを介して手動で作成しています。デッドロックされたxactionの1つに2つのSQLステートメントがあるとします。
今、私は私のメモリダンプでこのスレッドを見つけました、そして私は私のsql stmt 2、すなわち「updatetabl2」だけを見つけることができます。
とにかく、スレッドがxactionで実行したすべてのSQL stmtを検索できますか?つまり、この場合は「updatetabl1 ..」ですか?
同じトランザクションでスレッドが以前に何を実行したかを知りたい。このxactionはダンプの時点ではまだコミットされていないため、値はスレッドメモリのどこかにあるはずです。
ここで意味がわからない場合はお知らせください。私はしばらくこの問題を抱えていましたが、これが可能かどうか知りたいです。
追加情報
背景:
パフォーマンステスト環境があり、12時間の負荷テストを実行します。翌朝、デッドロックを分析して見つけます。アプリケーションはトランザクションで7〜8個のdmlステートメントを実行します(hibernateを使用します)。sys.dm_exec_sql_textベースは、キャッシュ内にある場合にのみ結果を生成するため、翌日分析しているため、dmlステートメントのセット全体を取得しません(ps:問題が1後に報告されたとき、これを試していませんでした) day)
今日この問題をどのように解決しましたか:
1。サーバー側のトレースを設定します
2.デッドロック時にトリガーされるイベント通知を設定し、トレースを停止するspを呼び出します。
3.拡張イベントxmlレポートまたはプロファイラーから、トランザクションIDを見つけ、それに対応する過去のステートメントを検索します。
この問題を解決できると思った方法:
1.システムIDが含まれている拡張イベント「lock_deadlock」でメモリダンプをトリガーします。
2.どういうわけか、システムIDに対応するスレッドで履歴を見つけようとします。
なぜメモリダンプするのか:
本番環境で実行する必要がある場合、この設定による影響が最も少ないためです。
java - Java で実行中のプログラムまたはダンプからデッドロック検出を取得する
実行中の Java ソフトウェアが詰まっています。中を見たいのですが、やり方がわかりません。
PID を与えることができるツールはありますか?それは、すべてのスレッドが現在どこにあるかと、変数のいくつかの値も教えてくれますか? 私はLinuxを実行しています。
問題の原因は多かれ少なかれわかっていますが、まだいくつかのケースが考えられるので、それを特定するといいでしょう。
エラーは数日おきにしか表示されず、デバッグ中には表示されなかったため再現できません。これは、敵を知るためのユニークな変更です。
何か案は?
java - コマンドラインからJavaプログラムのメモリ使用量、スレッドダンプを表示するにはどうすればよいですか?
JVMにJavaプログラムのメモリ使用量とスレッドダンプを表示するように依頼する既知のコマンドラインツールはありますか? ヘッドレスjvisualvmのようなもの?
asp.net - IIS ASP.Net の Windows Server 2008 クラッシュ ダンプを有効にする
ASP.Net アプリケーションが時折クラッシュし、ワーカー プロセスがリロードされます。システムは、Windows Server 2008 R2 64 ビット SP1 上の IIS 7.5 で実行されています。
アプリケーション イベントログにアプリケーション エラー イベントが記録され、続いて Windows エラー報告イベントログが記録されます。
Windows エラー報告イベント ログは、次のディレクトリを示しています。
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_w3wp.exe_624e5315e1074e44338812efe102157b47f6ca8_053f0ff3
Web をブラウジングすると、このディレクトリにメモリ ダンプが見つかるはずですが、そこにあるのは単一のファイル "Report.wer" だけです。
これが再び発生したときにクラッシュ ダンプを取得するには、いくつかのレジストリ設定を変更する必要があると思いますが、変更する必要がある設定が見つからないようです。
現在のレジストリ設定は次のとおりです。
次回ワーカー プロセスがクラッシュしたときにメモリ ダンプを取得するには、どの設定を変更または追加する必要があるか教えてもらえますか。
windows-server-2008-r2 - Windows Server 2008の過去のシステムがクラッシュしましたか?
WindowsServer2008の.mdmp/.hdmpファイルのデフォルトの場所、またはシステム上のどのアプリケーションが過去にクラッシュしたかをすばやく確認する方法を知っている人はいますか?
asp.net - IISをクラシックモードから統合モードに切り替えるときのロックと高いCPU
IIS 6では、Helicon(拡張機能のないURLを処理するため)とUrlRewriting.netの2つのサードパーティコンポーネントを使用してUrlRewritingを実行していました。少し前に、IIS 7-クラシックモードに移行しましたが、これら2つのコンポーネントを引き続き使用しています。
現在、ネイティブの.Netルーティングを使用して、サードパーティコンポーネントなしで統合モードに切り替えようとしています。ルーティングは機能していますが、Webアプリケーションの動作はまったく異なります。私たちのウェブサーバーは、以前はCPU使用率が10%未満でしたが、現在は50%以上を簡単に使用しています。
メモリダンプの分析を開始しましたが、問題の根本には到達していないようです。.Netキャッシングメカニズムがガベージコレクターをブロックしているようですか?これは「統合モード」の使用と何の関係がありますか?
以下に、分析の抜粋を示します。次にどこを見るべきかについての提案は大歓迎です。
c# - 高水準言語を介した物理メモリへのアクセスなど
C# などの高度なプログラミング言語を使用して、Windows 7 マシンのメモリ (RAM) のダンプを実行する最良の方法を研究しています。以下に要約するように、私はこれについてかなりの量の調査を行いました。
•メモリへの Microsoft API アクセスがしばらく前に切断されたようです (\Device\PhysicalMemory)
•<em>メモリにアクセスするには、ユーザー モードではなく、カーネル モードでコードを実行する必要があるようです。
•<em>システム ハング時に Windows ダンプのメモリ (スモール、ラージ、およびカーネル ダンプ) がどのようにダンプされるかを調査しましたが、この方法は私の要件には適していません。
マシンの物理メモリにアクセスするにはどうすればよいか、誰かがよく理解しているかどうか疑問に思いました。Window アプリケーションのプログラミングに慣れているため、低レベルのコーディング言語に関する知識はほとんどありません。私がこれまでに受け取った提案には、メモリにアクセスするためのドライバーを作成し、それを高レベルのプログラミング言語を介して呼び出すことが含まれます。
コミュニティのいずれかが提供できるヘルプは大歓迎です! 前もって感謝します。