Linux Javaチューニング

ここに画像の説明を挿入

Tomcatが発生しました原因:java.lang.OutOfMemoryError:PermGen spaceまたはjava.lang.OutOfMemoryError:Java heap space error。

  1. 異常な原因
    PermGenスペースの完全な名前は、Permanent Generationスペースであり、メモリの永続的なストレージ領域を指します。このメモリは主に、クラスおよびメタ情報を格納するためにJVMによって使用されます。クラスは、ローダーによってロードされるときにPermGenスペースに配置されます。これは、クラスインスタンスが格納されるヒープ領域とは異なります。GC(ガベージコレクション)は、メインプログラムの実行時にPermGenスペースをクリーンアップしないため、アプリケーションに多くのCLASSがある場合、PermGenスペースエラーが発生する可能性があります。この種のエラーは、WebサーバーのプリコンパイルJSPで一般的です時間。WEB APPの下で多数のサードパーティjarを使用する場合、そのサイズはjvmのデフォルトサイズ(4M)を超え、このエラーメッセージが生成されます。

Javaヒープスペース:JVMヒープの設定は、Javaプログラムの実行中にJVMが使用できるメモリスペースの設定を指します。JVMは起動時にヒープサイズ値を自動的に設定し、その初期スペース(つまり-Xms)は物理メモリです1/64、最大スペース(-Xmx)は物理メモリの1/4です。これは、JVMが提供する-Xmn -Xms -Xmxなどのオプションを使用して設定できます。ヒープサイズは、若い世代とTenured Generaionの合計です。JVMでは、98%の時間がGCに使用され、使用可能なヒープサイズが2%未満の場合、この例外メッセージがスローされます。最大ヒープサイズは、使用可能な物理メモリの80%を超えてはなりません。通常、-Xmsオプションと-Xmxオプションは同じに設定する必要があり、-Xmnは-Xmx値の1/4です。

  1. 解決策

TOMCAT_HOME / bin / catalina.shファイルを変更します。

OS固有のサポート。$ var trueまたはfalseに設定する必要あります。

JAVA_OPTS = "-server -Xms2048m -Xmx2048m -XX:PermSize = 128M -XX:MaxNewSize = 256m -XX:MaxPermSize = 512m -Djava.awt.headless = true"

cygwin = false

darwin = false

上記の赤いJAVA_OPTS行レコードを追加した後、tomcatサービスを再起動します。JAVA_OPTSの各パラメーターの特定の値は、実際のサーバーの物理メモリサイズに従って割り当てる必要があります。

  1. JVMの監視

4.1 jdkインストールパスの表示
オプションのコマンド:

(1)#echo $ JAVA_HOME

(2)#whereis java

(3)#which java(java実行パス)

(4)#$ PATHをエコー

本例:

4.2 Javaプロセスの表示

現在のJavaプロセスを表示するには、jdkが提供するjps(JavaVirtual Machine Process Status Tool)ガジェットを使用します。

この例:/usr/java/jdk1.7.0_79ディレクトリに入った後、bin / jps -vを実行します。

Bootstrapの前の番号10142がJavaプロセスIDであり、JAVA_OPTSパラメータが有効であることがわかります。

4.3 JVMのGCを表示する

jstatツールを使用して表示します。構文は次のとおりです。

jstat [generalOption | outputOptions vmid [interval [s | ms] [count]]]パラメーターの説明:

*オプション-オプション。通常、-gcutilを使用してGCの状況をチェックします。

vmid -VMプロセス番号、つまり現在実行中のJavaプロセス番号

秒単位またはミリ秒単位の間隔時間

この例では、/ usr / java / jdk1.7.0_79ディレクトリのjavaプロセス番号10142も確認し、3秒ごとに出力して、#bin / jstat -gcutil 10142 3000を実行します。

パラメータの説明は次のとおりです。

S0-ヒープ上のSurvivorスペース0領域の使用済みスペースの割合

S1-ヒープ上のSurvivorスペース1領域の使用済みスペースの割合

EヒープのEdenスペース領域の使用済みスペースの割合

O-HeapのOld space領域の使用済み領域の割合が100%に達し、メモリオーバーフロー

P-Permスペース領域の使用済みスペースの割合が100%に達し、メモリオーバーフロー

YGC-アプリケーションの開始からサンプリングまでのヤンGCの発生回数

YGCT-アプリケーションの起動からサンプリングまでのヤンGCにかかる時間[秒]

FGC-アプリケーションの起動からサンプリングまでのフルGCの数

FGCT-アプリケーションの起動からサンプリングまでのフルGCにかかる時間

GCT-アプリケーションの起動からサンプリングまでのガベージコレクションの合計時間[秒]

OとPの値を監視することにより、最適化の目的を達成するために、JAVA_OPTS関連パラメーターのサイズが再度調整されます。

U2FsdGVkX18g0ZLF3Ibx8leQC3HH5p2Nvz6cJ934srMP / + 1lWLrb + ZSIMH7coWPh
25D1UpL6Fadad9OO9e6sq3ST9KWGwrqr12KLXgi2CHfjWyHjPa49Ajz62QquzmaC8J2ZcXvw6rIPFBnAdKAMAwHJEQLomLlDR7oVz7Ir6aCWYAnXes4vNJMVBgKLd2pGKYTXXkb6IXTF2V36QpX9vjqClcNvj2DWf07CrQiegwrJIjjGxTxJJAbPtTkqpjF0PY60NRVRwzqknitBjQKjJcuu + 7QjlCfh + sdsYMZl8rerw7D4iLHXD16zGsUrkpPxdXfioC8EGNl / Q0 / iXAuLD2QmzS1K + R59SVKiK2r0y6PGIywRv8PJ5e8VifMv9ckdtpuy2NXEqNi9VBh87lK7s6W8zUcrDptq942Rvo1qejXgTegDvzSCpY7z1ZgFMfSMZePmSCQyQCpCYpGV7o53Xf24ClfUh3WjU6lQycX / vmG2QdQGtOFtb4mb6f6n1Bpx478MOkPV4twhYyeWacoZ3Y1asmvj + SswKJpeHHGb5YZo1x9mfDegwJyk / q2QEOmp9ad9hEU4RBqmksQn86QmCOQ7TQGNxbsXLNcR5ci9LbHfhXnbK0xliySliBTTjTMBN03cG6RrbaYZqd9U1E + LZ0P89uA9GCkrn5Mj8Gt4TtTPmR63V7xRyBt5uPEkodmh / KqVhEwo5q4qMCR2ptkAyP / EGK / HE0vYgnzy1KRHOGoGiRPeW31 + K2cB7ARqp7fdMoEpmUdisi44aeE9exDvJIHF2qzI9vcbTEdhYVT3joCYT4 + yKcNSrLRzqDE9Hd + 1K + j2LMn1gYAaVGTtYY91eDpQTWHCs77Lo7BQG7WRMBw0mMHOmS1JQtjJ4JUluHhCkfkp8bLPjKfmAoSfQQWfSYyR42YvBtwcnJ7jNdMLbIjh2YMF5qXKxWxi6PuEa7lVDDNtwhsaLay7t / LG + IvfR8IrGHb6XRmAWFaPXkWue9lN9bC0TkdesKOmM7kI9mIJkZagDCVDRaAstjc9z + WijkrA2sk6BasnVAkcmsinpia9rsaKZ33p9qAuozmLmtRHJSwdR75Y2X1vR1hB90RoxXbZItC7 /または+ sIs1552FaWDnDpz0yoVro3qmelMSIpPFwIaHqRQdOJopXjj0uA2LmADneAd3wFI0XruNhvel1X0DDrzbP8EUMsZ / DKt4kNP / FF2 + QzP + yVXz85jHsCt2Xo3rBX06RKg7qMsDx + BTc5agcUNS5CgFjW8ptOK + VcvthvQxuPouo6mBtV0qQxAd55XOFAV4U4mlaaBOUxeH0FfSkLAaVsy0OAamlTPEz2ZcBjzezaEkOihVT6​​NQ5U6FO3jClxZaLrU4z + UzxmreIs / oudz + nPw0TfuLCzIxoQg8c1UDdT0 / R / U1xoRYNIddYVDUiGB1ToPDH30dd + eiZiz3UyYwlc31hZ / RObtqQPMEK1aXnQ / iMS3Qvh / xeBJnIzx0FtXzKfkwVepLAuSsJOfW / 3pCrm / wTzcoEnvOWw + gilqnNX8xklLCdFGGIdRPCysZQv6CwBUd80jhfY4kXOKss2DrAXTBJGXQTK + udpqrxaUUhQ2u3WTdadVulb3bWVpj4XhdKIBK7cmTg + bDscItbnah9SznXrSAyrCHU2 / 9SLxaObANXHu + / m03EhfE + QK7J4mm3caFnRThc7xYkVKKRiHeA58zjfxOxfUrNLwjoYTrFjK + wY9hCWL4VUJWZV4UUFX4VUJNSFXTqSyxtuFRPd004AVD066yK94WUpTj9NwpSu9HcNTShVAT7F1KJefpbZTiTGhqEi0jgYVIYR80PMyMXcuTR64259pmhKUFsy93kMnj1xTHrXR91RMBbfqvGKnIaC6OmtIBs5KKGQztwCUozg + XkzvHofiAQixKKoclsDERanRFdUvaXQ1BLPDK71zPU3xHpY8tnPfEgaIXuDsIFBF / 6ULbD4MDz8ddGEtGX8WgaaUjH1i3OrME5WYXXiGF / 7nC + MHM + AfGASCk8cqNCjUGFdZY3ZeH4 + Dcef1ZWjgE5d9JICgNkf0pJMqJYDUCJPLY1SntEhwv + G + 3i2qDzgqD8lnhLPPy80kGNNBhk3WzjYekbPNxlrZOgaFsiKlu / N9cE9fSHtd7snPHkeQ6IRPKPPirURNJQ7uS2D5pdtCppdqXDeDKp3hGaDkdNJjmKOJIo8Ivhy377RWnAo4fiHgcJJvdIRxYEe2oEGCW2GHosp5Gj2Cav / OrAQhKPONERH70zQBNN3ufJmFGLN8d60vCEFPXlJsdpcFLwInqvtg0KZYyrRzY7dok3Oi8eZjWPcB9Q5XvhgZ41YEYi / l9u + e5ZSQxPprvlnTwFR8cdxDcDn4u5J8LD3Jl + NmKGXv1vEcunbQmCKb0UOniik00D6X179XZIWN + eKjxfab + to6AtskiSPHiGTkcG2tsuO775UwrmpuCEMSr / 1hL0SiJTFhWoo3e4nrnRTqI / gtV9jjd5wlgyuhOg1 + O9AAMugm / vUUev36wNsjUtny78Ir04OeF6SMbP0zK0VRlAMeHWlDeSlRUdHjF80wq5V7eSoyqWxXX / JHlrZOEHBno / SmvblEO48HwdyCyzUkVkNN 9pbxP5d20WBgUsBkXGAyp7K7IoYpsCFjbKMQKMRVqvyhFhPBC8lkdrKpvst2j1LcrBFmSKfODwJP7PvLnKwjAGVgxyx + + + + O zctl2KdGHcbiujXJYxEwRyhgw Jeb28tPQhGFE3mOJ9 qxeXkQiL5b5XDNUUVs5ihx74qn + + + + PNklJJZshiDiDvpk8ctTBhsk9AV05EqbepmEWWa3qKigvJ0QDSOmevQsHjAcgsH4hMN9hx8 pbswqr1yexyvLFMikMRcC2XQ8ISJuu / eUuAUL5KEJfgLfbqboDWzDTVLtT9If4a4YZVlbvxmsb5eELaoyiNHI99UCR8NCR4rW / cBkDCO891uSy + + vfvW8jVUmhrcgLLCNXwdjLt0x85BJBRl7Zwi 3BKpJho / I8D07jYbjG / y5ZdenzULr5PD8bjK5isIYcH7tTzb28kp5K4ZdgVDLakmtkz7nLmtJhb3i2xyFD72ZsiyIpHLAxNVqxOaTjO2ttevKNeKfiZtVDaXi8HSWh6zwvPndb5d1wbAOvkvd8KgdXDTOpiKSAq0k9Npd // zdKeHPQkjwNwXQu48j95smrEDgi336ktkOivOhsqWJ4 1VRkmMJx559FqJvYwIgzVd6jv958I5wXiKlbAi + / TVYvu8IyhxrA74P80f7WLi9BGoyT3rCciejclvZFX4j6L / Ftssb24rlQtATHxgQwNYslkLEwkvBRk9Fsg0A3A / O6erPGpm3buN066jM61ME / VKT / vrkzcr / RkEYW7N 1EWhlQ28vPpTW3MDjiY40 + + + OybVShWLd3hc0dFZ0JOpTXxMNzitlUrEQG34DBCOCqGPWUhE5WL02JJrvCKSAr 5UEKjOe9Y / 3OLgWTxmK2Cl + Xm0lwBfQZ + ZvH73BePTl30mv6RyDMcyqTqo / DGJnOTxmWLST / M7GY48GsKp3nuqk7qGqPphsw2Ykf2 / K6jm3QJ3HhWsXhvuAWUQUYAQUYAQUYAQUYAQUYAQUYAQUZUQUZUQUZUQUZUQUZUQUZUQUZUQUZUZUZUQUZUQUZUQUZUQUZUQUZUQUZUQUZUQUZUV

219の元の記事を公開 Like3 70,000以上を訪問

おすすめ

転載: blog.csdn.net/xmh_sxh_1314/article/details/105497721