タグ

gcに関するswatのブックマーク (6)

  • “Stop the World”を防ぐコンカレントGCとは? (1/2) - @IT

    “Stop the World”を防ぐコンカレントGCとは?:現場から学ぶWebアプリ開発のトラブルハック(2)(1/2 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) Full GC問題の時代が再び到来! それまで順調に動いていたはずのWebアプリケーションが、ある時突然、応答を返さなくなる。そして、運用者があたふたしている間に、何事もなかったかのように再び動き出す。 Javaで構築したシステムにかかわる者ならば誰しもが体験するであろう事象、そうFull GC(ガベージ・コレクション)だ。Full GCが行われている間、すべてのアプリケーションスレッドは停止する。この事象は“Stop the

    “Stop the World”を防ぐコンカレントGCとは? (1/2) - @IT
  • wall-climb » コンカレントGCの注意点

    次? 代のサーバマシンによるシステムでは、CPUマルチコア化が進み、OSぜ 64bit化によってメモリも豊富に眩 むような大規模なものが一般的になるのではないでしょうか。このようなサーバ上ぜ Tomcatを起動させる場合、その? 富なリソースを生かしぜ Javaのヒープサイズ、GCチューニングを実施するのが一般的だと思゜ れます。ただし、このオプションを中途半端に? ? すると、逆にパフォーマンスを損なう可能性があることに注? しなければならないようです。 CPUマルチコアリソースを十分に活用する為ぜ GCチューニングパラメータに、「-XX:+UseParNewGC」「-XX:+UseConcMarkSweepGC」があります。前者ぜ GC処理をマルチCPUでパラレルに? 施するオプション、「-XX:ParallelGCThreads=n」と合゜ せてパラレル処理? (n)を指定出来ます。

  • スローダウン、ハングを一発解決 スレッドダンプはトラブルシューティングの味方 #wlstudy

    Jan 24, 201315 likes6,512 viewsAI-enhanced description The document discusses slowdowns, hangs, and thread dumps in troubleshooting Java applications. It explains that thread dumps provide a snapshot of thread states and what each thread is doing at a point in time. This can help identify issues like threads getting stuck or competing for resources. The document also demonstrates example output of

    スローダウン、ハングを一発解決 スレッドダンプはトラブルシューティングの味方 #wlstudy
  • 僕はJavaのWeakHashMapを勘違いしていたというメモ - 働かないプログラマのメモ帳

    JavaにWeakHashMapというクラスがあって、僕はこれをvalueを弱参照で持てるHashMapだと思ってたんですけど、当はkeyを弱参照で持つHashMapだったのでメモしておきます。 どういうことかって言うと、僕はこんなことを期待していたわけです。 Map<String, String> m = new WeakHashMap<String, String>(); String key = new String("hoge"); String value = new String("fuga"); m.put(key, value); System.out.println(m.containsKey("hoge")); // => true value = null; System.out.println(m.containsKey("hoge")); // => false

    僕はJavaのWeakHashMapを勘違いしていたというメモ - 働かないプログラマのメモ帳
  • OutOfMemoryError発生! その解決への近道とは

    この記事で分かること JavaのOutOfMemoryError発生時の対応と、原因究明のための調査方法 障害調査に不可欠な7つの情報と、GCログなどから問題のメモリ領域を特定する手法 各ヒープ領域に応じた調査手順と、メモリリークの見極め方 前回記事「調査の難しい「OutOfMemoryError」事例、5選」では、「OutOfMemoryError」に対する切り分け方法の基と、「OutOfMemoryError」発生につながる危険なケースを具体例を挙げて解説した。 今回は、その「OutOfMemoryError」の対応・調査方法を系統立てて解説する。 システムの回復が必要な場合を確認 OutOfMemoryErrorによるメモリ障害が発生すると、標準出力にOutOfMemoryErrorのメッセージが表示される。そして、JavaVMは空き領域が枯渇している中でGCを実行することになり、

    OutOfMemoryError発生! その解決への近道とは
  • JavaVMのメモリ管理をマスターする

    Webシステムの安定動作には、メモリ使用量の適切な見積もりが不可欠。だがJavaVMでメモリがどのように管理されるかを理解しているだろうか? メモリに関する問題が発生すると、知識や技術資料の不足によって問題が長期化しがち。JavaVMでどのようにメモリが管理されているかを理解し、正確なメモリサイジングやメモリ関係のトラブルの早期解決へとつなげよう。 JavaVMのメモリ構造を理解しよう まず、JavaVMがどのようにメモリを使っているかを理解しておこう。JavaVMがプログラムを実行すると、Javaのプロセスによってメモリが使用される。Javaのプロセスでは、Javaヒープ、Permヒープ、Cヒープ、およびスレッドスタックという4つのメモリ領域を使用する。 Javaヒープはアプリケーションプログラムの各種オブジェクトを格納する領域であり、Classのnewで確保される。JavaヒープはNe

    JavaVMのメモリ管理をマスターする
  • 1