タグ

JVMに関するhikazohのブックマーク (6)

  • 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仮想マシンの実装技術
  • JVMオプションの確認方法 - A Memorandum

    標準オプション 非標準オプション オプションのカテゴリと設定 jcmd によるオプションの確認 プラットフォーム固有のデフォルトチューニングフラグ プラットフォーム別のコンパイラ指定 主要なオプション 標準オプション -help または -? で標準オプションが確認できる。 $ java -help 使用方法: java [-options] class [args...] (クラスを実行する場合) または java [-options] -jar jarfile [args...] (jarファイルを実行する場合) optionsには次のものがあります。 -d32 使用可能な場合は32ビットのデータ・モデルを使用する -d64 使用可能な場合は64ビットのデータ・モデルを使用する -server "server" VMを選択する場合 ・・・ 非標準オプション -X とすると非標準のオプシ

    JVMオプションの確認方法 - A Memorandum
  • OutOfMemoryError の調べ方 - Qiita

    OutOfMemoryError (以下 OOME)が起こったときにお手上げ状態にならないためにも、 Java のメモリ管理の仕組みとか、 OOME が起こったときの調査方法とかを調べる。 環境 OS Windows 7 > java -version java version "1.8.0_74" Java(TM) SE Runtime Environment (build 1.8.0_74-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode) Java 8 で、 Oracle の JVM を前提とした話です。 Java のメモリ管理 これを知っておかないと、 OOME が起こっても、メモリ内で何が起こっていて、どこを調査すべきで、どのように対処したらいいのかが判断できない。 なので、まずは、そもそも J

    OutOfMemoryError の調べ方 - Qiita
  • Javaのプログラムはどうやって動いているの? JVM編

    Yahoo! JAPANのIaaS基盤では200超のOpenStackクラスタが稼働しており、それらのコントロールプレーンをKubernetes上にデプロイしています。IaaSチームで管理している十数のKubernetesクラスタは古いバージョンのまま運用が続けられていたため、現在、段階的にバージョンアップおよびその自動化に取り組んでいます。このようなクラスタ群をメンテナンスする中で、工夫した点や失敗した点、得られた知見を紹介します。 Yahoo! JAPAN Tech Conference 20222022年2月3日、4日に開催しました。 https://techconference.yahoo.co.jp/2022/ アーカイブ動画はこちらからご覧ください。 https://youtu.be/F5EQqWOw8So

    Javaのプログラムはどうやって動いているの? JVM編
  • オープンソースアプリケーションのアーキテクチャ読書会(7) #read_aosa - by shigemk2

    おさらい LLVM GCCは一枚岩 GCCは再利用しにくい 入力がソースコード 出力がマシン語 フロントエンド(抽象構文木 ASTを作る) オプティマイザ(計算式を簡略化し、コードの実行時間を短縮) バックエンド(ターゲット上の命令セットにマップすうr) 抽象構文木 - Wikipedia フロントエンドとオプティマイザはCPUに非依存だが、バックエンドはCPUに依存する。 独自言語用のコンパイラを作りたいときはフロントエンドを、CPUを自作して自分のCPU用のコンパイラを作りたいときはバックエンドを自作する。 で、GCCはこの3つが綺麗に分かれていなくて、例えばフロントエンドとオプティマイザがごっちゃになっているのですべての分野についての知識が必要となるため、開発しにくい。 逆にLLVMのような3フェーズ設計だと各フェーズの実装がやりやすくなるので参入障壁は低い。 GCCのまずさは、 グ

    オープンソースアプリケーションのアーキテクチャ読書会(7) #read_aosa - by shigemk2
  • 恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ

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

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