タグ

GCに関するt_43zのブックマーク (13)

  • Java 7 CMS GCの基本的な情報の整理 - nekop's blog

    バッチ処理などスループット重視のアプリケーションはデフォルトのパラレルGCで良いが、Java EEアプリケーションサーバなどレスポンスタイム重視のものやHadoopなどのクラスタ系ソフトウェアで死活監視に引っ掛る系などのstop the worldをなるべく避けたいいわゆるサーバ系ソフトウェアを運用する場合には、UseConcMarkSweepGCを付与して停止時間の短いCMS GCを使う。その場合にCMSのチューニングに踏み込もうとするとなんだか難しい記述がいっぱいで若干困るので、簡単なガイドをメモとして書いておく。 対象バージョンは以下。 $ java -version java version "1.7.0_51" OpenJDK Runtime Environment (fedora-2.4.5.1.fc20-x86_64 u51-b31) OpenJDK 64-Bit Serve

    Java 7 CMS GCの基本的な情報の整理 - nekop's blog
  • 「ガベージコレクションのアルゴリズムと実装」という本を書きました。

    gcbook, gcai, GCGCLoverのみなさん、お待たせしました。「ガベージコレクションのアルゴリズムと実装」の情報公開です。 書名:ガベージコレクションのアルゴリズムと実装 著者:中村 成洋/相川 光 監修:竹内 郁雄 ページ数:472ページ 体価格:3,200円 発売開始日:2010年3月17日(水) ※地域・書店によって遅れることがあります ISBN:978-4-7980-2562-9 C3055 読み所 書は次の2つのテーマを扱います。 1.GCのアルゴリズム(アルゴリズム編) 2.GCの実装(実装編) アルゴリズム編では、これまでに考案されてきた数多くのGCアルゴリズムの中 から、重要なものを厳選して紹介します。伝統的かつ基的なものから、やや 高度なアルゴリズムを選定しています。GC独特の考え方や各アルゴリズムの特 性などを理解していただくのがアルゴリズム編の最大

    t_43z
    t_43z 2010/03/04
  • Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か

    GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行時間を1秒未満に抑えること。 マイナーGCは1秒未満どころではなく、もっと短くなるべき。どれくらいが理想かは?(0.1秒未満ぐらいを目指したい?) 連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 理想的な状態は、上記に加えて、Full GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジェクト。逆にセッションオブジェクト等は長命オブジェクトとなる)を破棄させて、短命オブジェクトが、Tenu

    Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か
  • throw Life - Dalvik VMのGarbage Collection概要

    ちょっと時間ができたので、知り合いのブログを読みあさってました。 すると、安藤恐竜さんとこでこんな翻訳記事を見つけました。 Track memory allocations(日語超訳) 大半のケースでは、数多くの小さくて短命なオブジェクトが原因でGCが起動される。世代別GCのような場合には、このようなオブジェクトの回収を最適化し、頻繁にGCが起動されることを防ぐことができる。AndroidのGCは、残念ながらそのような最適化を行うことができず、パフォーマンスに影響の多い一連のコードの中で、短命なオブジェクトを作ると、そのままアプリケーションの性能にとって影響が多くなってしまう。 マジっすか?!一応原文もチェック。 Track memory allocations Most of the time, garbage collection occurs because of tons

  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    t_43z
    t_43z 2009/02/12
  • ガベージコレクションの実装法と評価

    1.はじめに プログラミング言語とはシステム化する対象物を抽象化し、コンピュータで処理可能なコードを記述するために用いる人工言語である。プログラミング言語はコンピュータの機械語と一対一の対応をもったアセンブラから始まり、コンパイラを用いて機械語に翻訳することを前提としたコンパイラ言語、インタプリタと呼ばれるプログラムがソースコードを解釈し実行するスクリプト言語と、記述できる抽象度を高める方向へと進化してきた。 プログラミング言語はその存在理由から、より抽象度の高い記述が行えること、すばやい開発を行える事が求められる。抽象度の高い記述とは、プログラムがどういう処理を行うか(HOW)ではなく何の処理を行うか(WHAT)を記述しやすい構文、機能を持っていることを、すばやい開発とは記述性の高さ、コードの密度の高さ、バグの発生しにくい構文、機能を持っていることをさす。 この抽象度の高い記述、すばやい

    t_43z
    t_43z 2008/08/12
    あとでよむ
  • Javaの性能を分析する10のツール | エンタープライズ | マイコミジャーナル

    JDK16 jconsoleの動作例 JavalobbyにおいてJavaパフォーマンストラブルシューティングに役立つ10のツールがTop 10 Java Performance Troubleshooting Toolsとして紹介されている。OSの限定されるツールもあるため実質的には7つの紹介とみていいだろう。Javaのパフォーマンス分析といえばJDK 6 Update 7からJava VisualVMが同梱されるなど今後のさらなる発展が期待される分野だ。同文書で紹介されているツールは次のとおり。 jconsole - JDK1.5およびそれ以降のバージョンに同梱されているJavaモニタリングおよびコンソール管理ツール。JMX互換のグラフィカルツールでローカルで動作しているJava仮想マシンもリモートで動作しているJava仮想マシンもどちらもモニタリング可能 VisualVM - 高性能な

  • Matzにっき(2008-03-06) GCの改善について

    << 2008/03/ 1 1. [Ruby] Ruby 1.9.0-1 snapshot released 2. 高木浩光@自宅の日記 - 公開鍵暗号方式の誤り解説の氾濫をそろそろどげんかせんと 3. [Ruby] Lisa Awards: Biggest Hack for a Language Runtime on Dion Almaer's Blog 2 1. [教会] 第一安息日 3 1. [言語] CS 11: Python track: python idioms 2. [Ruby] Binary search algorithm - Wikipedia, the free encyclopedia 3. [OSS] Theological Cultural Analysis of the Free Software Movement 4. 小寺信良:正直、テレビはもうダメかも

    t_43z
    t_43z 2008/03/11
  • JavaのGCについてメモ - public static void main

    ガーベッジコレクション(以下GC)やメモリについて、あやふやのままにしていたところが多かったので、調べてみたことをメモしておきます。 メモリについて プログラムの使用するメモリは、レジスタ、スタック、ヒープなど用途によって分けられますが、高級言語になるにつれてこれらは隠蔽されています。 Javaの場合はスタックとヒープ領域の二つに分けられます。 スタック スタックはメソッド起動ごとにフレームを出し入れする線形のデータ構造です。このフレームの中にローカル変数や引数などのデータを持っています。 メソッドが終了するとフレームは破棄されるので、寿命が短いことが特徴です。 スタックはスレッドごとに割り当てられます。 ヒープ インスタンスなどを保持する領域です。GCによって、メモリの管理がなされます。 JVMで一つ割り当てられ、全てのスレッドから共有されます。 クラス構造などの静的なデータも保持されて

    JavaのGCについてメモ - public static void main
    t_43z
    t_43z 2008/02/10
  • GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)

    GC¥¢¥ë¥´¥ê¥º¥à¾ÜºÙ²òÀâ ÆüËܸì¤Î»ñÎÁ¤¬¤¹¤¯¤Ê¤¤GC¥¢¥ë¥´¥ê¥º¥à¤Ë¤Ä¤¤¤Æ¾ÜºÙ¤Ë²òÀ⤷¤Þ¤¹ ¥È¥Ã¥×¥Ú¡¼¥¸¥Ú¡¼¥¸°ìÍ÷¥á¥ó¥Ð¡¼ÊÔ½¸ GC ºÇ½ª¹¹¿·¡§ author_nari 2010ǯ03·î14Æü(Æü) 20:47:11ÍúÎò Tweet ¤³¤ÎWiki¤¬Ìܻؤ¹½ê GC¤È¤Ï¡© GC¤ò³Ø¤ÖÁ°¤ËÃΤäƤª¤¯»ö ¼Â¹Ô»þ¥á¥â¥ê¹½Â¤ ´ðËÜ¥¢¥ë¥´¥ê¥º¥àÊÔ Reference Counter Mark&Sweep Copying ±þÍÑ¥¢¥ë¥´¥ê¥º¥àÊÔ IncrementalGC À¤ÂåÊÌGC ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È·¿GC LazySweep TwoFinger Lisp2 Pa

    GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)
  • IBMおよびSAPがJVM診断ツールをオープンソース化

    IBMは先日、Java診断ツールスイートを発表した。これにはDump Analyzer For Java、Garbage Collection(GC:ガベージコレクション)用のExtensible Verbose Toolkit(EVTK)、およびJava Lock Analyzer(JLA)ツールなどの製品が含まれる。IBMのalphaWorks(source)チームがこれらのJVMツールについて研究し、「Java diagnostics, IBM style(サイト・英語)(Java の診断をIBM スタイルで)」と呼ばれる技術記事シリーズの中でその使い方を詳しく掲載した。また、SAPは先月、SAP Memory Analyzerと呼ばれるヒープアナライザツールや、同ツールのEclipse IDEとの統合について発表した(サイト・英語)。 JVMパフォーマンスの監視および診断統計データ

    IBMおよびSAPがJVM診断ツールをオープンソース化
  • Javaのメモリ管理

    日のカクテルは「Javaのメモリ管理」です。 ネタ元はかつのりさんのBlogです。 GCについて勘違いしている人が結構多い JavaというとGC(ガーベッジコレクション)によって不要となったオブジェクトが回収される仕組みになっていますので、一般のプログラマはメモリの確保、解放について考える必要がありません。 ただし、プロフェッショナルなプログラマの方は一般のプログラマの分まで背負い込んで考えてもらう必要があります。 C言語のようにメモリの割り当てと解放を直接管理することはありませんが、まったく別種のメモリ管理が必要となってきます。 参照の種類 「要するに、参照がなくなればGCに回収される、参照があれば回収されない、それだけのことだろう?」 こうおっしゃるお客さんは沢山いらっしゃいます。では、参照にも種類があることをご存じですか? 強い参照 (strong reference) ソフト参照

  • GCの解析とチューニングポイント:CodeZine

    はじめに J2EEサーバの健康診断をする上で、GC(ガーベッジ・コレクション)の発生状況の把握は非常に重要です。GCの発生状況を監視することによって、メモリリークを発見したり、サーバの負荷状況を調べたりすることができます。 そこで、商用J2EEサーバとしてはシェアの高いWebSphere Application Serverを想定し、GCの解析方法とチューニングポイントを説明します。対象読者 WebSphere Application Serverを利用したシステム開発に携わる、開発者・アーキテクト。必要な環境サーバ:WebSphere Application Server 6.0以上解析用PC:IBM JDK 1.4.2以上がインストールされていること  IBM JDK 5.0は、developerWorksのWebページからダウンロードできます。Eclipseとセットになっています。W

  • 1