2019/11/23 JJUG CCC 2019 Fall - 日本Javaユーザーグループ 登壇資料です。
JVMにチューニング項目は多々あれど、プロダクションで運用する際に予めおさえておきたい項目をまとめてみるエントリです。*1 勿論、OSもJVMもデフォルトである程度のパフォーマンスは発揮でき、計測を伴わないチューニングは悪手であることはよく知られています。 しかし、設定しておかないとパフォーマンスにそのまま影響すると分かるものを調べないのは裸で戦場に赴くようなものです。*2 どんな項目をどう変更すれば良いのか知っていることは重要な武器なのです。 なぜ調べるのか 今回、チューニングポイントを調べるにあたって、私のモチベーションはどこにあるのかを考えると、以下の要件を満たしたいということがあげられます。 アプリケーションとして求められる品質水準として動作する → 性能目標 異常時に事象を追うことができる ここでいう品質水準・異常とは、パフォーマンスが明らかに低い、アプリケーションがクラッシュす
Graal Project a quest for the JVM to leverage its own J Mission The Graal OpenJDK project grew out of the Maxine VM project. In the context of the Maxine VM, Graal demonstrated that a compiler written in Java (with all its software engineering advantages) could generate highly optimized code without compromising on compile times. Graal was then spun off as an OpenJDK project in 2012 to bring these
スレッドダンプは、Java 仮想マシン(JVM)で現在アクティブなすべての Java スレッドのリストです。 JVM からのスレッドダンプを取得するには、いくつかの方法があります。1 つ以上のスレッドダンプを取得することを強くお勧めします。優れた習慣の 1 つは、一定の間隔で 10 のスレッドダンプを取得する(例えば、10 秒ごとに 1 つのスレッドダンプ)ことです。 スレッドダンプを取得できるようにするために必要な最初の情報は、Java プロセスの PID です。 Java JDK には、すべての Java プロセス ID をリストする jps コマンドが用意されています。次のようにこのコマンドを実行できます。 jps -l 70660 sun.tools.jps.Jps 70305 注意:Linux および UNIX では、このコマンドを sudo -u user jps -l として
IKVM.NET is an implementation of Java for Mono and the Microsoft .NET Framework. It includes the following components: A Java Virtual Machine implemented in .NET A .NET implementation of the Java class libraries Tools that enable Java and .NET interoperability Read more about what you can do with IKVM.NET.
今回は JVM, .NET といった仮想マシン(VM)についての記事です。 最初、 .NET と仮想マシンの説明のスライドを作っていたのですが、 最近 JVM と BEAM を少し調べて興味がでてきたので、合わせて VM の話としました。 そうすると今度は、スクリプト言語や LLVM の話も外せないなと思って足したら、結構な大作になってしまいました。 JVM に絞った話では、以下の記事にも説明を書いているので、こちらもご覧ください。 JDK のインストール(Windows)と Java 関連用語の説明 | プログラマーズ雑記帳 スライド版です。 ここからブログ版です。 はじめに 仮想マシンといっても、 OS のエミュレーターのようなものではなく、 JVM といったプロセス仮想マシンについてのお話です。 JVM 、 .NET Framework など最近、この仮想マシン(VM)のシェアが大幅
What happens you have a virtual machine full of powerful technology and you start pulling out the language independent parts, with plans to open source these technologies? You get the ability to experiment! This talk covers a set of experiments where IBM has tested out language-agnostic runtime technologies inside of CRuby, including a GC, JIT and more-- all while still running real Ruby applicati
Multi-threaded JavaScript on the JVM Ringo is a JavaScript platform built on the JVM and optimized for server-side applications. It takes a non-dogmatic stance on things like I/O paradigms. Ringo ships with a large set of built-in modules and follows the CommonJS standard. Ringo in a Nutshell Stability Flexibility Security Open Source Ringo is powered by the Mozilla Rhino JavaScript engine, which
Example: Neighborhood polygons based on listing density in San Francisco, generated using a multi-scale Kd-tree model. Sophisticated ML Features Aerosolve provides sophisticated machine learning features, such as geo-based features, controllable quantization and feature interaction. Provide human intuition to machine models by specifying prior beliefs. Human Friendly, Debuggable Models Aerosolve w
Pants v1 is no longer maintained. See here for the Pants v2 documentation. Getting Started Installing Pants Setting Up Pants Tutorial Common Tasks Pants for Organizations Pants Basics Why Use Pants? Pants Concepts BUILD files Target Addresses Third-Party Dependencies Pants Options Invoking Pants Reporting Server IDE Support JVM Support JVM Projects with Pants JVM Dependency Management Scala Suppor
Summary Develop a Java based JVM compiler interface (JVMCI) enabling a compiler written in Java to be used by the JVM as a dynamic compiler. Goals Allow a Java component programmed against the JVMCI to be loaded at runtime and used by the JVM’s compile broker. Allow a Java component programmed against the JVMCI to be loaded at runtime and used by trusted Java code to install machine code in the JV
Summary Improve the performance of GHASH and RSA cryptographic operations by leveraging recently-introduced SPARC and Intel x64 CPU instructions. Success Metrics The support for AES-CBC included in JDK 8 (see JEP 164) shows about an 8x improvement over the pure software-based implementation. Different algorithms will vary, but we should see similar significant performance gains. Motivation The les
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く