タグ

JVMに関するmasudaKのブックマーク (28)

  • G1 GC おさらいと #jjug_ccc で発表した話 - unnamed

    この記事は Java Advent Calendar 2015 の一日目の記事です。二年連続でトップバッターだ! 先日の JJUG CCC 2015 Fall で G1 GC について話してきました。 去年の CMS GC と同じく結構遅めの時間帯&裏番組に伝説の灰色ページ管理人・ひしだま伝道師が発表するなどの豪華な時間帯にも関わらず、165人規模の部屋がいっぱいに埋まるぐらいの盛況でした。聴講頂いた皆様ありがとうございました! スライドは以下に公開しました。G1 GC の挙動から GC ログの読み方、どういうケースが厄介なのかを紹介しているので是非ご覧ください! Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6 from Yuji Kubota アフターフォロー、またはちょっとした補足 極力、後から参照可能なように資料

    G1 GC おさらいと #jjug_ccc で発表した話 - unnamed
  • JJUG JavaOne 2012 San Francisco 報告会 LT(G1GC)

    JJUG JavaOne 2012 San Francisco 報告会, LT - G1GC のスライドです。 This Presentation Slide is the LT about G1GC at JJUG JavaOne 2012 San Francisco Briefing Meeting(Tokyo/Japan), 2012/11/9, Gree Inc.

    JJUG JavaOne 2012 San Francisco 報告会 LT(G1GC)
  • Getting Started with the G1 Garbage Collectorの日本語訳

    書は次の英文資料を日語訳したものです。 l  「Getting Started with the G1 Garbage Collector」 不備や質問がありましたら、訳者にご連絡いただければ幸いです。 2013/03/16 湊  隆行 turbo[at]minato.tv Overview | 概要 Purpose | 目的 このチュートリアルでは、G1 ガーベジコレクタの基的な使用方法と、Hotspot JVMにおけるG1ガーベジコレクタの使われ方を説明します。またG1 ガーベジコレクタの内部機能、コマンドラインオプション、および、ログに関するオプションについて説明します。 Time to Complete | 完読時間 およそ1時間。 Introduction | はじめに このOBE (Oracle by Example)では、Java仮想マシン(JVM)および G1 ガーベ

    Getting Started with the G1 Garbage Collectorの日本語訳
    masudaK
    masudaK 2014/06/10
  • newするとJVM内で何が起こるのかという話(前編) - Kengo's blog

    私的まとめ。2段階に分かれており、今回はその初回。 JVM内の挙動を知るにはJVMに渡されるバイトコードを知ることからと考え、これについてまとめる。 バイトコードの確認 例えば public class Test { public static void main(String[] args) { Test test = new Test(); } } を $ javap -c Test すると、mainメソッドのバイトコードが public static void main(java.lang.String[]); Code: 0: new #1; //class Test 3: dup 4: invokespecial #16; //Method "":()V 7: astore_1 8: return になっていることがわかる。コンストラクタ呼び出しがnew,dup,invokesp

    newするとJVM内で何が起こるのかという話(前編) - Kengo's blog
    masudaK
    masudaK 2014/06/10
  • JVM用アセンブラJasminを触る - Kengo's blog

    自分はJVMの仕様について比較的知っている方らしいということに最近気づき、バイトコードについて人に説明するためのツールとしてJVM用アセンブラJasminの利用を検討。 バイトコードの理解があれば困らずに利用できるツールだと思うが、説明に使うには若干不足かも。CASL2シミュレータのようにスタックを見ながらバイトコードをステップ実行できることを期待していたのだが……。Javaプログラムとバイトコードの関連が見えるjadやjdの方がまだ役に立つかもしれない。 Hello, world! .class public Hello .super java/lang/Object .method public ()V aload_0 invokespecial java/lang/Object/()V return .end method .method public static main([Lj

    JVM用アセンブラJasminを触る - Kengo's blog
  • java.lang.OutOfMemoryError #渋谷java

    9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...NTT DATA Technology & Innovation

    java.lang.OutOfMemoryError #渋谷java
  • Inside The Java Virtual Machine

    APPLICATIONS OF ARTIFICIAL INTELLIGENCE IN PHARMACEUTICAL RESEARCH.pdfAmeena Kadar

    Inside The Java Virtual Machine
  • JVM オペコードのリファレンスビューアが便利 - 全力で怠けたい

    vim-ref-jvmis 使い方 " Vundle の場合 " vimrc に追記&再読込して :BundleInstall Bundle 'ebc-2in2crc/vim-ref-jvmis' " NeoBundle の場合 " vimrc に追記&再読込して :NeoBundleInstall NeoBundle 'ebc-2in2crc/vim-ref-jvmis' Jvmis というコマンドが勝手に定義されるので、調べたいオペコードの上にカーソルを置いて :Jvmis を実行すると ref.vim インタフェースでリファレンスを閲覧出来ます。 リファレンスは The Java Virtual Machine Instruction Set から引いて来るので環境によっては一瞬もたつきますが、デフォルトでキャッシュを有効にしているので2回目以降は素早く引くことが出来ます *1 これ

    JVM オペコードのリファレンスビューアが便利 - 全力で怠けたい
  • JJUGナイトセミナー「Java解析ツールバトル」 - torutkのブログ

    今日は、JJUG主催のナイトセミナー「Java解析ツールバトル」が19:00〜21:00の時間帯で開催されました。日バトルに参加したツールとパネリストは次の3つです。 ENdoSnipe(谷氏) HeapStats(末永氏、久保田氏) Java Flight Recorder(杉氏) 今日は、パネルディスカッション形式でコーディネータが山裕介氏です。 Java Flight Recorder http://www.oracle.com/technetwork/java/javase/downloads/index.html 旧BEAシステムズのWebLogicサーバーで使われた独自のJavaVMであるJRockitに搭載されていた稼動情報収集機構のFlight Recorderと収集した情報を解析するMission Controlからなる解析ツールが、OracleのHotSpotVM

    JJUGナイトセミナー「Java解析ツールバトル」 - torutkのブログ
  • @IT Special PR: Javaプログラムの挙動を「すべて記録」 迅速な原因解析で障害リスクと対応コストを最小化

    いまやJavaは、企業の基幹業務を担うエンタープライズ・システムに使われることも珍しくなくなっている。こうしたミッションクリティカルな分野では迅速な障害対応が強く求められるが、Java特有の機構がその原因解析を妨げる場合もある。こうした原因解析を強力に支援する「JRockit Flight Recorder」を紹介しよう。 Javaの特徴として、プログラムがJava仮想マシン(JVM)上で動作することが挙げられる。JVMはガベージコレクション機能を備え、プログラムが使用するメモリを自動的に最適化する。そのため、プログラマはメモリの管理については気にすることなく、ロジックに集中できる。これはJavaを使ううえでの大きな利点だ。しかし、JVMのガベージコレクションも万能ではない。まれに、使わなくなったオブジェクトがそのまま解放されずにメモリをいつぶしていくなどしてメモリが不足する、アウト・オ

  • HotSpot JVMで動作するMission ControlとFlight Recorder

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    HotSpot JVMで動作するMission ControlとFlight Recorder
  • JVM Operation Casual Talks #1でLTとパネルディスカッションしてきた - oinume journal

    JVM Operation Casual Talks #1でLTとパネルディスカッションしてきました(togetterまとめ)。 運用に効く!JVMオプション三選 from Kazuhiro Oinuma この日登壇した人でJVM好きな人っていたんだろうか?っていうぐらいLL寄りな人が多かった印象だった。パネルディスカッションというものは初めてだったんだけど(*1)、人の目の前でJVMをDISれてよかったなぁと思う。はてなさんの新しいサービスはScalaでできているらしくてそれがすごいビックリした。(LLで頑張る会社だと思ってたので) パネルディスカッション中に「JVMのプロセスはカジュアルに再起動するものじゃない」という意見が出て、理想はそうなんだろうけど現実はFullGCしたりするしじゃじゃ馬なんだよなぁと思ったりした。結局JVMの上に乗るものは人間が作るものでバグがあったり不完全だっ

    JVM Operation Casual Talks #1でLTとパネルディスカッションしてきた - oinume journal
    masudaK
    masudaK 2014/04/08
    激しく同意。「結局JVMの上に乗るものは人間が作るものでバグがあったり不完全だったりするので、危なくなったらLBから切り離して再起動する運用は全然アリだと思う。もちろん進んでやるものではないですが。」
  • JVM Operation Casual Talksに参加して思ったことをつらつらと書く - wyukawa's diary

    JVM Operation Casual Talks : ATND 内容は参加者のブログエントリとtogetterが下記にありますのでそちらを見るとよいと思います。 JVM Operation Casual Talksに参加しました #jvmcasual - @johtaniの日記 2nd 「JVM Operation Casual Talks」発表資料のリンクをまとめてみる #jvmcasual - 元RX-7乗りの適当な日々 JVM Operation Casual Talks に参加してきました。 - susumuis Info JVM Operation Casual Talks #jvmcasual - Togetter で、このエントリでは発表を聞いて思ったことをつらつらと書きます。 ちなみに僕はJava歴10年以上なのですが、JVM運用経験はほとんどありません。最近はちょっと

    JVM Operation Casual Talksに参加して思ったことをつらつらと書く - wyukawa's diary
    masudaK
    masudaK 2014/04/08
  • G1GCのつかいどころメモ - nekop's blog

    以下の環境とテストでCMSとG1GCを比較してみた。かなり急ぎでやったので間違っている可能性が多少ある。 16 cores, 32GB mem -Xms24g -Xmx24g 8 instances Infinispan 6.0.3.Final DIST cache, put 4GB data (1KB entry * 2M, 2GB data with one backup copy, 2GB * 2 = 4GB) CMS: -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=30 G1GC: -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:InitiatingHeapOccupancyPercent=30 $ java -XX:+UseG1GC -XX:+PrintFlagsFinal

    G1GCのつかいどころメモ - nekop's blog
  • 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
    masudaK
    masudaK 2014/04/01
  • GCオプション備忘録 - Qiita

    チューニングのベースになるGCオプションの備忘録。 JDK6以上が対象で、デフォルトで設定されているものも明示的に指定。 動作設定 -server -d64 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+DisableExplicitGC -XX:+UseCompressedOops -XX:+OptimizeStringConcat -XX:-UseGCOverheadLimit 64bitのサーバモードで起動。 コンカレントGCを使用。 サーバモードなのでCMSIncrementalModeは指定しない方がいい。 G1GCでもいいが、世代別GCの方

    GCオプション備忘録 - Qiita
  • 2014ブレイク確実!JavaベースのポータブルなWebフレームワーク Dropwizard - yojikのlog

    最近Dropwizardというフレームワークが海外JavaおよびJVMベース言語界隈で流行り始めている感しがします。 Thought Works Technology Reader でも Traialに入ってきています。 http://dropwizard.codahale.com/ このフレームワークはYammerのバックエンドWebサービスを提供するために作られたフレームワークで、アプリケーション開発者からみると、 JaxRSベースのREST提供フレームワーク ORM Jettyベースの組み込みWebサーバ Metricsを収集するためのライブラリ、管理ツール等 といった機能があります。 ここらへんまでは普通のフレームワークと基的には違いが無く、むしろWebサービスに特化しているため物足りなく感じるのですが、特筆すべきは、このフレームワークが推奨するデプロイ・運用方法にあります。

    2014ブレイク確実!JavaベースのポータブルなWebフレームワーク Dropwizard - yojikのlog
  • Javaのパフォーマンスについての9つの誤信

    JVMはプロファイリングを利用してコードの最適化を行います。対象は頻繁に利用されるコードパスのみですが,徹底的に行うことで大きな効果を上げています。JITコンパイルされたコードに関しては,現在では多くの場面において (その割合も増えつつあります) C++の実行速度を凌駕しています。 このような事実にも関わらずJavaが今でも低速なプラットフォームとして認識されているのは,おそらくは初期バージョンのJavaプラットフォームでの経験が,歴史的な負のバイアスとして働いているためでしょう。 早まった結論を出す前に,客観的な見地に立って,最新のパフォーマンス結果を評価するようにお勧めします。 2. Java コードの1行にはそれ自体で意味がある 次の短いコード行を考えてみてください: MyObject obj = new MyObject(); Java開発者ならば誰でも分かるように,このコードはオ

    Javaのパフォーマンスについての9つの誤信
  • GitHub - flatland/drip: Fast JVM launching without the hassle of persistent JVMs.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - flatland/drip: Fast JVM launching without the hassle of persistent JVMs.
  • GCとキャッシュの悩ましい関係 | DA BLOG

    こんにちは。新規事業推進室の石田です。 今日からDAブログに書くことになりました。よろしくお願いします。 さて、私が担当するのは、DA製品を開発する中でハマった技術的なあれこれです。 今日は、Javaのガベージコレクション(GC)について書いてみたいと思います。 DA製品でも、ひびきSm@artDBや、ひびきSALES、そして私が担当している店舗maticはJavaで開発されています。 Javaを使うことで開発者はメモリリークに頭を悩ましノイローゼになることもなくなりますが、その代償として散らかしたメモリを片付ける処理が必要になります。 これガベージコレクション(GC)です。 今日の題は、GCとキャッシュの微妙な関係についてです。 さて、Webアプリケーションのパフォーマンスを向上させる常套手段としてキャッシュがあります。 アプリケーションサーバーのメモリにオブジェクトをキャッシュしてい

    GCとキャッシュの悩ましい関係 | DA BLOG
    masudaK
    masudaK 2013/03/01