タグ

JVMに関するtenten0213のブックマーク (9)

  • CRaSH the shell for the Java Platform

    Connect to any JVM Using SSH, telnet or web, you can connect to a JVM running CRaSH and execute commands. Powerful commands Monitor or use virtual machine resources: CRaSH comes out of the box with a set of commands for JMX, database access, threads, memory usage, ... Create your shell In a few lines of code, you can embed CRaSH and expose your services via a powerful command line interface. The h

  • CRaSH: JVMを監視するコマンドラインシェル

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    CRaSH: JVMを監視するコマンドラインシェル
  • Javaのパフォーマンスについての9つの誤信

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

    Javaのパフォーマンスについての9つの誤信
    tenten0213
    tenten0213 2014/12/11
    “200ミリ秒の停止が容認されないアプリケーションというのは,ごく限られています (低レイテンシのトレーディングや機械制御システムなど) 。この種のアプリケーションでない限り,ガベージコレクタの影響をユーザが
  • 「JVM Operation Casual Talks」発表資料のリンクをまとめてみる #jvmcasual - 元RX-7乗りの適当な日々

    4/7に、LINEさんのオフィスで開催された「JVM Operation Casual Talks」。 一部で、Cassandra Casualだったのではないかという疑惑もありましたが、なかなかためになる話が多くて、あとできっと資料を見たくなる日が来そうなので、ちょっとまとめておこうと思う。 こちらもあわせて読みたい JVM Operation Casual Talks #jvmcasual - Togetter Understanding Memory Management of JavaVM
 in 15 minutes (@stanakaさん) https://speakerdeck.com/stanaka/understanding-memory-management-of-javavm-in-15-minutes @stanakaさん、どこでJVM使ってるのかと思ったら、今日は

    「JVM Operation Casual Talks」発表資料のリンクをまとめてみる #jvmcasual - 元RX-7乗りの適当な日々
  • “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
  • まじめにJVMチューニング: 第4回 GCアルゴリズムを変えてみる

    Java SE 7 Update 4から、GCの新しいアルゴリズムとして「G1GC」が追加されました。 Java6でもupdate 14から実験的に導入されているようです。 GCアルゴリズムについては下記に概要説明がありました。 第9回 [最終回]HotSpot JVMのGCを選択しよう G1GCアルゴリズムの詳細についてはこちらに超詳しく記載されています。 徹底解剖「G1GC」実装編 GCアルゴリズムの技術的な詳細解説だったら下記のページがよかったです。 GCアルゴリズム詳細解説 G1GCを使うためには -XX:+UseConcMarkSweepGC をはずし、 -XX:+UseG1GC を追加します。 G1GCはヒープを分割して管理しますが、分割のデフォルトサイズが1MBと小さいのでもう少し大きくします。 -XX:G1HeapRegionSize=8M MaxGCPauseMillis

  • まじめにJVMチューニング: 第3回 方針をたててパラメータをいじってみる

    さて、前回までで、ログからフルGC(及び高負荷なコンカレントGC)が発生していることはわかりました。 で、このチューニングの目的は、GCによるマシンへの負担を低減することにあります。 まず「なぜGCが発生するのか?」と「jvmがどうやってメモリ管理を行っているのか?」を知らないとチューニングのしようがないのですが、これらについては、下記に詳しく記載されていたのでリンクをはっておきます。 GC発生の要因  http://www.atmarkit.co.jp/ait/articles/1005/13/news095.html HotSpot JVMのヒープ領域について http://gihyo.jp/dev/serial/01/jvm-arc/0007 で、これらをふまえて・・・ 一口にチューニングと言ってもいくつかのアプローチをとることができます。 とにかくOld領域がいっぱいにならないよう

  • まじめにJVMチューニング: 第2回 GCログをみる

    きほんのきです。 まずはログを見ます。 GCログを出すようにしていない場合は、GCログを出すようにします。 -Xloggc:/var/log/gc.log # 出力先パス -XX:+PrintGCDetails -XX:+PrintGCDateStamps の3つのパラメータを指定してjavaを起動します。 java -XmsXXXXM -XmxXXXXM -Xloggc:/var/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -classpath <クラスパスとか> <プラグラム> <引数> このようにして実行しGCログを採取します。 (上記の例では/var/log/gc.log) で、開いてみると、こんな感じの文字列がつらつらと並んでいます。 ※私の環境では、GCアルゴリズムをコンカレントGCとしています。 2014-01-

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

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

  • 1