タグ

Javaとjavaに関するiga-ninjaのブックマーク (7)

  • JVM Memory Settings in a Container Environment

    TL;DR: The Bare Minimum You Should Know Before Going Live Java memory management and configuration is still complex. Although the JVM can read cgroup memory limits and adapt memory usage accordingly since Java 9/8u131, it’s not a golden bullet. You need to know what -XX:+UseCGroupMemoryLimitForHeap does and you need to fine tune some parameters for every deployment. Otherwise you risk wasting reso

  • OutOfMemoryError の調べ方 - Qiita

    Java 8 で、 Oracle の JVM を前提とした話です。 Java のメモリ管理 これを知っておかないと、 OOME が起こっても、メモリ内で何が起こっていて、どこを調査すべきで、どのように対処したらいいのかが判断できない。 なので、まずは、そもそも Java がどうやってメモリを管理しているのかを知る。 しかし、実際調べてみたら予想通りというかなんというか、量が多くなってしまった。 なので、個々の用語の説明は末尾の 用語集 に押し込めたので、ここではざっくりとした概要だけ記載する。 メモリの構造 超ざっくりとした、メモリ構造を表した図。 おおきく、ヒープ(Heap)領域とネイティブ(Native)領域の2つの領域がある。 ヒープは Java プログラムが使う領域で、プログラム上で生成したオブジェクトは、このヒープ領域に配置される。 一方、ネイティブ領域は JVM が動くのに必要

    OutOfMemoryError の調べ方 - Qiita
  • よくある質問 - Amazon Corretto | AWS

    Q: Amazon Corretto とは何ですか? Corretto は、Amazon の長期サポートを含む Open Java Development Kit (OpenJDK) のビルドです。Corretto は、Java Technology Compatibility Kit (TCK) を使用して Java SE 規格に準拠するようにしていることが認証されており、LinuxWindows、および macOS で使用できます。 Q: Corretto を使用するメリットは何ですか? Corretto は信頼性の高い OpenJDK のビルドであり、長期的なサポートが無償で提供されます。Amazon では、数千の番サービスで Corretto を内部使用しています。Corretto を変更するたびに、OpenJDK の実行で見つかった問題が修正されたり軽減されたりします。Ama

    よくある質問 - Amazon Corretto | AWS
  • JavaVMのメモリ管理に関するまとめ(Javaヒープ、GC、ダンプ等) - ぺーぺーSEのブログ

    ブログはJava8(特にMetaspace)に対応していない。 下記にJava8以降に対応した記事を記載する(予定)。 blog.pepese.com JavaVMのメモリ領域について JavaVMが管理するメモリ領域について 階層1 階層2 階層3 説明 Javaヒープ JavaVM上で起動するJavaプログラムのリソースを管理する領域。New領域とOld領域で構成される。 l" New領域 新規オブジェクトと閾値(-XX:MaxTenuringThreshold)未満のオブジェクトが配置される。(Young領域とも呼ばれる) l l" Eden領域 新規のオブジェクトが配置される。 l l" From領域 CopyGC(ScavengeGC、マイナーGC)が実行された際に、使用中のオブジェクトはここへコピーされる。(S0やS1とも呼ばれる) l lー To領域 CopyGC(Scav

    JavaVMのメモリ管理に関するまとめ(Javaヒープ、GC、ダンプ等) - ぺーぺーSEのブログ
  • ローカルのJavaVMのリストを出力したり、JConsoleのようにJMX接続したりしてみる - CLOVER🍀

    JMXのリモート接続を有効にしていないローカルのJavaVMプロセスに対して、JConsoleのようにJMX接続するにはどうしたらいいのかな?と思い、調べてみました。 何か方法があるのだろうと。 調べてみたら、tools.jarに含まれているクラスを使用すれば、なんとかなりそうな感じですね。 参考) 「Java SE 6完全攻略」第10回 オンデマンドアタッチを実現するAttach API | 日経 xTECH(クロステック) プログラムによる監視および管理の設定 前述のように、Java SE プラットフォームのバージョン 6 では、Attach API を使用する JMX クライアントを作成できます。これによって Java SE 6 プラットフォームで起動する任意のアプリケーションから、起動時に監視用にアプリケーションを構成しなくても、アウトオブボックスの監視および管理ができるようになり

    ローカルのJavaVMのリストを出力したり、JConsoleのようにJMX接続したりしてみる - CLOVER🍀
  • Disabling access to MBeans

  • jconsoleでなぜか接続できない!? - 戯言

    監視パソコンAからサーバBのJavaプログラムを監視する状況とします。サーバBのJavaプログラムの起動オプションで、 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10080 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true などのjconsole関連のパラメータを正しく設定していても、監視パソコンAからサーバBにjconsoleで接続できないという場合は、サーバBのhostname -iをチェック。 監視パソコンAからサーバBに接続しにいく際に指定するIPアドレスが、 hostname -i コマンドで返ってくるアドレスと同値でなければならないです 。 もし、127.0.

  • 1