タグ

jvmに関するhiroyukimのブックマーク (41)

  • Java Just-In-Timeコンパイラの実装技術

    1. 2016年9月6日 石崎 一明 http://ibm.biz/ishizaki kiszk@acm.org 日アイ・ビー・エム(株) 東京基礎研究所 (資料作成協力:井上拓、大平怜、小笠原武史、菅沼俊夫、仲池卓也) PPLサマースクール2016「商用Java処理系の研究開発」 Java Just-In-Timeコンパイラの実装技術 1 Java Just-In-Timeコンパイラの実装技術 / 石崎 一明 JavaTMおよびすべてのJava関連の 商標およびロゴはOracleやその関連 会社の米国およびその他の国にお ける商標または登録商標です 2. © 2016 IBM Corporation 商用Java処理系の研究開発 2 Java Just-In-Timeコンパイラの実装技術 / 石崎 一明2016/09/06 概要:日アイ・ビー・エム(株)東京基礎研究所はJava言語の

    Java Just-In-Timeコンパイラの実装技術
  • Java仮想マシンの実装技術

    PPLサマースクール2016「商用Java処理系の研究開発」のパート2です. http://ppl.jssst.or.jp/index.php?ss2016 Java言語処理系の実装について詳説する.まずJava仮想マシンの概要について述べ,その主要な構成要素として,クラス管理とインタープリタ,ヒープ管理とガベージコレクション,スレッド管理と同期機構,JITコンパイラとの連携,などについて説明する.性能改善のために行った各種手法についても触れる. 他のパート 1 Javaの登場と発展 http://www.slideshare.net/Tamiya_Onodera/java-66081108 2 Java仮想マシンの実装技術 http://www.slideshare.net/KiyokuniKawachiya/java-66003903 3 Java Just-In-Timeコンパイラの

    Java仮想マシンの実装技術
  • Java 起動(Launcher)の仕組み - unnamed

    ※:この記事は下書き中に文ががっつり消えたため、知らずに部分的に端折ってるところがあるかもしれません。(´;ω;`) Java、すなわち JVM (HotSpot) を立ち上げた時、どういった処理が行われているのでしょうか。正確に知りたい場合は OpenJDK のソースコードを読むのが最も確実ですが、概要レベルでどのような処理が行われていて、それがソースコードのどのあたりに書かれているのか案内があった方がすんなりと理解できます。と言うわけで、自分用のメモ書きをちょっとだけ整理してここで公開してみます。 なお、自分の理解をベースに記述しているので間違いが含まれている可能性があります。見つけた場合はそっとコメントか @sugarlife にお教え頂けると大変喜びます。 Java の動作概要について Java、特に HotSpot の動作概要については、OpenJDK コミュニティによって「H

    Java 起動(Launcher)の仕組み - unnamed
  • SparkアプリケーションのためのJavaガベージコレクションのチューニングについて - TEPPEI STUDIO

    この記事は、インテルの SSG STOビッグデータテクノロジーグループのメンバーからDataBricksに寄稿されたブログを翻訳したものです。誤訳がありましたら、@teppei_tosaに御連絡ください。 Sparkは、その優れた性能、シンプルなインターフェイス、および分析や計算のための豊富なライブラリによって、幅広い業界で採用されてきています。ビッグデータエコシステムにおける多くのプロジェクトと同様に、Sparkは、Java仮想マシン(JVM)上で実行されます。Sparkはメモリに大量のデータを格納することにおいて、Javaのメモリ管理とガベージコレクション(GC)に大きく頼っています。また、プロジェクトTungstenなどの新たな取り組みは、将来のバージョンで、メモリ管理のさらなる簡素化と最適化を目指しています。しかし、今日時点でも、JavaのGCオプションとパラメータを理解しているユ

    SparkアプリケーションのためのJavaガベージコレクションのチューニングについて - TEPPEI STUDIO
  • JMXのメトリクスをfluentd経由で蓄積する | nagaseyasuhito Daily works.

    みなさんJMXは使っていますか?Javaアプリケーションのメモリ使用量を始めとした統計情報を取得したりできる、運用には欠かせないモニタリング・管理の仕組みですが、統計情報を蓄積する方法に悩んでいる方も多いのではないでしょうか。 今回はアプリケーションから取得できる様々な統計情報をfluentd経由で蓄積し、分析やトラブルシュートに活用する方法を紹介します。 JMX用のfluentdプラグイン JMXの統計情報をfluentdで収集するfluent-plugin-jolokiaというプラグインを使います。 fluent-plugin-jmxではなくfluent-plugin-jolokia?と思われるかもしれません。 JolokiaはJMXをJSONベースのREST APIとして提供するためのエージェントです。fluentdのプラグインはRubyで書かれていますが、Rubyから直接JMXのプ

  • https://qiita.com/inokappa/items/0932bb74a3b0883137e4

  • JolokiaでMBeanにアクセスする | Ore no homepage

    ちょっとJVMってかMBeanの情報をぶっこぬくツールを作る必要があって、最初jythonで作ったんだけどjythonにはいろいろ失望した。で、同僚にJolokiaってのがあると教えてもらったのですが、これがなかなかイケてる。Jolokiaというのは、簡単に言うと、MBeanにHTTP経由でアクセスできるようにjmxの口を空けてくれるJavaのエージェント。こいつをJavaプログラムやJavaなミドルウェアに仕込んでやるだけでHTTPの口が空いて、そこ経由でいろいろできる。レスポンスはJSONで帰ってくる。 Cassandraの記事はまた次回www まぁ、今回もJolokiaに手を出したのもCassandra起因なんだけどね。Cassandraはレイテンシやリード/ライト数がMBeanに格納されてて、そいつを抜いてグラフ描画させたいなぁ、と。Cassandraのマネジメントツールとしては、

  • Jolokia - Overview

    It is fast, simple, polyglot and has unique features. It's JMX on Capsaicin. Jolokia is a JMX-HTTP bridge giving an alternative to JSR-160 connectors. It is an agent based approach with support for many platforms. In addition to basic JMX operations it enhances JMX remoting with unique features like bulk requests and fine grained security policies. Overview of features which make Jolokia unique fo

  • 恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、

    恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ
  • Home — JRuby.org

    Recent News JRuby 9.4.8.0 Released The JRuby community is pleased to announce the release of JRuby 9.4.8.0. Homepage: https://www.jruby.org/ Download: https://www.jruby.org/download JRuby 9.4.x targets Ruby 3.1 compatibility. Thank you to our contributors this release, you help keep JRuby moving forward! @edipofederle, more... Awards InfoWorld 2010 Bossie Awards: Best of Open Source Software InfoW

  • ページが見つかりません | 日本HP

    ページが見つかりません。 目的のページは、移動または削除によって無効になっている可能性があります。申し訳ありませんが、検索またはリンク先よりお探しください。

  • 第六回渋谷Java Java8のJVM監視を考える

    13. jstat • PC/PUがMC/MU,CCSC/CCSUに変更されている Java7 $ /usr/java/jdk8/bin/jstat -gc 6516 S0C S1C S0U S1U EC EU OC OU PC PU (略) 2560.0 2560.0 0.0 0.0 30720.0 317.5 36864.0 15032.1 28672.0 14250.7 (略) Java8 $ /usr/java/jdk8/bin/jstat -gc 15802 S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU (略) 4096.0 4096.0 0.0 0.0 32768.0 368.8 14336.0 11029.2 15104.0 14456.5 1792.0 1597.2

    第六回渋谷Java Java8のJVM監視を考える
  • JavaVM監視・解析ツール HeapStatsを使ってみた | Casley Deep Innovations株式会社 技術ブログ

    こんにちは!SI部の満石です。 以前、仕事JRockit Flight Recorder(現在OracleJDKに付属しているJava Flight Recorderの元になったもの)を使ったことがあり、最近出てきたHeapStatsにも興味があって使ってみたのでご紹介します。 HeapStatsとは NTT OSSセンタが開発したOSS(Open Source Software)であり、HeapStatsの日語Wikiには以下のとおりに書かれています。 HeapStats とは、JavaVM のヒープやGC状況を監視する軽量なツールで、エラーの兆候を検知してSNMPのようなリアルタイムなアラートを発します。生成するログはかなり小さいもので、GUIツールで解析することができます。HeapStatsは、次の二つのプログラムで構成されます: エージェント(agent) – JavaVMの情

    JavaVM監視・解析ツール HeapStatsを使ってみた | Casley Deep Innovations株式会社 技術ブログ
  • HeapStats/jp - IcedTea

    1 ニュース OpenJDK8系の 8u262 以降の版とともに使用しないでください (2020/7/24) OpenJDK 8u262 は、素晴らしいことに、いくつかのディストリビューションで JDK Flight Recorder (JFR) が同梱されました。 しかし、残念なことに、HeapStats は 8u262 以降ではうまく動作しません。 8u262 以降でのJavaヒープの確認には、JFRの使用をお勧めします。 詳しくは、このページの下の実行環境セクションをご参照ください。 こちらもまたご覧ください。 http://icedtea.classpath.org/pipermail/heapstats/2020-July/002457.html {Exit|Crash}OnOutOfMemoryError を HeapStats と共に使わないでください(2019/7/25)

  • 知らないなんてもったいない! 障害発生の原因を洗い出すOSSのJavaVM解析支援ツール「HeapStats」を使ってみよう

    避けるべき状況ですが、残念なことにこのようなことは珍しくありません。解析に必要な情報を漏らさず取得するためには、サービス開始前に入念な準備が必要ですが、現実にはそこまで時間をかけられない場合もあり、往々にして準備不足となる場合があるからです。 こういった不幸な状況を防ぐ手段の1つとして、稿では「HeapStats」というツールを利用した障害解析方法を紹介します。 HeapStatsとは 「HeapStats」は、NTT OSSセンタが開発を行い2013年にOSS(オープンソースソフトウェア)として公開したJavaVM障害解析支援ツールです。 Javaアプリケーションにおけるメモリ不足(OutOfMemoryError)やデッドロックといった障害を素早く解決することを目的として開発されました。特に、Javaヒープメモリ内の状態など、従来は高い負荷をかけて取得する必要があった情報を、低オーバ

    知らないなんてもったいない! 障害発生の原因を洗い出すOSSのJavaVM解析支援ツール「HeapStats」を使ってみよう
  • Java仮想マシン(JVM)のチューニング

    5 Java仮想マシン(JVM)のチューニング この章では、WebLogic Server用にJVMチューニング・オプションを構成する方法について説明します。Java仮想マシン(JVM)は、マイクロプロセッサ上でJavaクラス・ファイルのバイト・コードを実行する仮想の「実行エンジン」インスタンスです。JVMのチューニングは、WebLogic Serverとアプリケーションのパフォーマンスに影響を与えます。 JVMのチューニングの考慮事項 使用しているシステムに適したJVM ガベージ・コレクション IA32プラットフォームでのスピンの有効化

  • まじめにJVMチューニング: 第1回 まずは現状確認

    まじめにJVMチューニングに取り組む機会があったので、忘れないようにこの記事を書きました。 GCアルゴリズムやパラメータの説明はいろいろなサイトに掲載されていたのですが、 「どうやって取り組むか」「何を見れば良いか」は意外とまとまっていなかったので。 JavaScala製のアプリケーションはもちろんのこと、 Solr, ZooKeeper, Cassandra, Neo4J等jvm上で動くプロダクトを使う場合つねに 「JVMパラメータをどう設定するか」 という課題があります。 最近のミドルウェアでは、インストール時に最適なオプションを渡して javaを実行するようなシェルをつくるrpmを提供していたりしますが。 さて、今回私が取り組んだのはフルGC対策のためのチューニングです。 フルGCとは何かというと、 別名「Stop the World」と呼ばれ、全てのアプリケーション・スレッドを停

  • Java 仮想マシン (JVM) のチューニング

    JVM のヒープ サイズとガベージ コレクション ガベージ コレクションは、Java ヒープ内の使用されていない Java オブジェクトを解放する JVM のプロセスです。Java ヒープは Java プログラムのオブジェクトが存在している場所であり、ライブ オブジェクト、デッド オブジェクト、およびフリー メモリのリポジトリです。実行中のプログラムでどのポインタからもアクセスされなくなると、オブジェクトは「ガベージ (廃棄物)」と見なされ、コレクションの対象となります。 JVM ヒープ サイズによって、ガベージ コレクションを行う頻度とその時間が決定されます。ガベージ コレクションの適切な実行頻度はアプリケーションによって異なるので、ガベージ コレクションの実際の時間と頻度を解析して調整する必要があります。大きいヒープ サイズを設定した場合、ガベージ コレクション全体は低速化しますが、実

  • 第5回 チューニングのために理解しておきたいGCの4つのアルゴリズム | gihyo.jp

    なぜアルゴリズムを学ぶのか GCによる停止時間が長くなり、アプリケーションの処理時間が短くなると、業務に使える時間が短くなってしまいます。その問題を解決するために、GCをチューニングすることで、アプリケーションの停止時間を短くすることが考えられます。 その際大事なのは、GCのアルゴルズムを把握しておくことです。 GCのチューニングを行うときは、GCで行われている処理の内、どの処理に時間がかかっているかをモニタリング⇒分析⇒チューニングする、という流れになります。しかし、GCのアルゴリズムを知らないと、モニタリング結果を見てもどこに問題があるかがわからず、分析やチューニングを行うことができません。 今回は、以下の4つのアルゴリズムをご紹介します。 マーク&スイープGC コンパクション コピーGC 世代別GC GCのアルゴリズムはJVMの実装によって異なりますが、多くの場合、上記4つのアルゴリ

    第5回 チューニングのために理解しておきたいGCの4つのアルゴリズム | gihyo.jp
  • JVMのチューニング - ITエンジニアとして生きる

    前回、JVMとGCのしくみ - ITエンジニアとして生きるでJVMとGCのしくみについて書いた。 今回はその続きということでJVMのチューニングについて書きたいと思う。 JVMチューニングって -Xms ・・・ ヒープ全体(New領域+Old領域)の初期値 -Xmx ・・・ ヒープ全体(New領域+Old領域)の最大値 くらいしか話題に上がらないし意識しないことが多い(気がする)。 でもホントはこれだけではダメで、前回のようにPermanent領域、New領域、Old領域を意識したチューニングが必要になる。 VMチューニングを考えるその前に・・・チューニングの話をする前にまずVMの起動モードについて話したいと思う。 VMには大きく以下2つの起動モードがあり、それぞれ以下のような特徴を持つ。 ◆クライアントVMモード 起動時間を短縮し、メモリサイズを縮小するように調整されている。 VM起動時

    JVMのチューニング - ITエンジニアとして生きる