IronPDF トラブルシューティング IronPDFのメモリリーク IronPDFのメモリリークを修正する カーティス・チャウ 更新日:2025年6月1日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English IronPDFで明らかなメモリリークが発生している場合は、私たちに知らせてください。 最も経験豊富なエンジニアが、特定され次第、メモリリークに対応するためホットフィックスに取り組みます。 このようにしてメモリリークをsupport@ironsoftware.comに報告します。 1. 最新のIronPdfバージョンに更新する まだの場合は、最新のIronPdfバージョンに更新してください。 2. IDisposable オブジェクトが破棄されていることを確認する 報告されているメモリ リークの大部分は、 .NET IDisposable インターフェイスの不適切な使用によって発生します。 .NETクラスに Dispose() メソッドがある場合、そのメソッドはおそらく IDisposable であり、開発者は使用を終了したときにそれを通知する必要があります。 C#は"管理された"言語であり、メモリ管理に開発者の責任は必要ないという誤解があります。 この信念に反して、多くの一般的な.NETオブジェクトが破棄されずに放置されています。 IDisposableを実装しているオブジェクトを使用する C# .NETのメモリリークを見つけ、修正し、回避する:8つのベストプラクティス 各 IDisposable クラスインスタンスを手動で破棄しないと、コード内でメモリ リークが発生する可能性があります。 System.IO.Stream - PdfDocument.Stream プロパティによって返されます。 System.Drawing.Image / System.Drawing.Bitmap - PdfDocument.PageToBitmap メソッドによって返されます。 IronPdf.PdfDocument - 自体も、2021 - 2024 年後半のリリースで管理されていないオブジェクトが含まれる可能性があるため、IDisposable としてマークされています。 最も一般的な解決策 多くの場合、最善の解決策は、IDisposable オブジェクトを参照するときに using ステートメントを使用することです using(var stream = myPdfDocument.Stream) { // Perform operations with the stream here } using(var stream = myPdfDocument.Stream) { // Perform operations with the stream here } $vbLabelText $csharpLabel C# 8 には、{} クロージャのない短縮バージョンもあります。 using var stream = myPdfDocument.Stream; // Perform operations with the stream here using var stream = myPdfDocument.Stream; // Perform operations with the stream here $vbLabelText $csharpLabel 3. ガベージコレクションを実行する Visual Studioデバッガーのメモリプロファイラーは、問題がない場合でも増加を示し続ける可能性があります。 高RAMシステムを使用する際、.NETランタイムは、システムRAMがほぼ満杯になるまで、またはスワップファイルを使用して、メモリにガベージを維持する方が効率的と判断する場合があります。 アプリケーションライフサイクルの安全なポイントで.NETガベージコレクタに未使用のオブジェクトを破棄するよう手動で指示することができます。以下の時に: PDFをレンダリングしていない IDisposable オブジェクトが開いています これを行う方法の一つは: System.GC.Collect(); // Invokes the garbage collector System.GC.WaitForPendingFinalizers(); // Waits for the process to complete System.GC.Collect(); // Optional: Runs additional collection to ensure all objects are cleared System.GC.Collect(); // Invokes the garbage collector System.GC.WaitForPendingFinalizers(); // Waits for the process to complete System.GC.Collect(); // Optional: Runs additional collection to ensure all objects are cleared $vbLabelText $csharpLabel この後、メモリ使用量グラフは正常なレベル(ゼロではないが)に戻るはずです。 4. まだメモリーリークがある場合 - 報告してください これは非常に高い優先度として扱われます。 ログファイルの見つけ方と追加情報を求められることなく問題を報告する方法を説明するこのガイドをお読みください。 これを3分間読むことで、問題を100%正確に再現するのに役立ち、時間を無駄にすることはありません。 Engineering Request PDF ありがとうございます - 誰もメモリリークが好きではなく、私たちも同様です。 HTMLレンダリング、Interop、Graphics、Streamsのような"低レベル"またはシステムオブジェクトを扱う場合、これらは発生する可能性があります。 だから、それらを修正しましょう! IronPDFは、ユーザーからのバグレポートや機能リクエストを聞いてきたことで、現在の形になりましたので、ご支援に感謝します。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はできましたか? Nuget ダウンロード 17,803,474 | バージョン: 2026.3 リリース 無料トライアル NuGet 無料版 総ダウンロード数: 17,803,474 ライセンスを見る まだスクロールしていますか? すぐに証拠が欲しいですか? PM > Install-Package IronPdf サンプルを実行するHTML が PDF に変換されるのを確認します。 NuGet 無料版 総ダウンロード数: 17,803,474 ライセンスを見る