タグ

tomcatに関するyoshi_kanagawaのブックマーク (27)

  • 役立つかもしれないメモ tomcatの起動・停止

    1.tomcatの停止 #/etc/rc.d/init.d/tomcat stop 2.Tomcatプロセスの停止確認~残っていたら強制停止 # ps aux | grep tomcat >root 12345 (←プロセスID) 1 9 00:12 pts/1 00:00:43 /usr/java/jdk1.5.0_09/bijava -Djava.util.logging.config.file=/usr/local/apache-tomcat/conf/logging.prop erties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr /local/apache-tomcat/common/endorsed -classpath :/usr/lo

  • Tomcat Manager Shell

  • Apache Tomcat 8 (8.5.100) - Manager App How-To

  • Tomcatの管理ツールProbeについて - Qiita

    概要 PSI Probeは、オープンソース(GPLv2)のTomcat管理ツールです。以前はLambda Probeとして開発されていたソフトウェアのコミュニティ主導のフォークです。Tomcatインスタンスの管理・監視を簡単にし、Tomcatマネージャを置き換え、拡張する意図で開発されているようです。 他の多くのサーバ監視ツールとは異なり、PSI Probeは、既存のアプリケーションを変更する必要がありません。以下からダウンロードして、デプロイするだけで全ての機能の利用できます。 機能 主な機能は次のとおりです。 リクエスト:アプリケーション毎に、リアルタイムにトラフィックの監視。 セッション:属性の閲覧/検索、IPアドレス、有効期限、見積もりサイズの表示。 JSP:閲覧、ソースの表示、コンパイル。 データソース:プールの使用量の表示、クエリの実行。 ログ:ログの内容表示、ダウンロード、実

    Tomcatの管理ツールProbeについて - Qiita
  • ClassLoader Leak Patterns

    LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )

    ClassLoader Leak Patterns
  • 48895 – WebAppClassLoader.clearThreadLocalMap() concurrency issues

  • 解放されないリフレクションクラス - たぷつきません

    ある基幹システムを、Tomcat+Postgres+Tapestry+Seasar2+S2Tapestry+S2Daoの構成で開発したが、数日間連続稼動していると、パーマネント領域(以下Perm)がジワジワと減っていくという現象に悩まされている。Tenuredは十分ありGC/FullGC時の下限の平均は100MB前後に落ち着いている。にも関わらずPermは減るのだ。ヒストグラムを取ると判別可能クラス数は減っている時間帯でも、判別不可能クラス数は増加している。 ヒストグラムで取得できるクラス名を便宜上、判別可能クラス、判別不可能クラスという言い方にしている。判別可能なのはクラス名称が明らかなもの。javaasistによりEnhancedされたものも、AOPアライアンスでEnhancedされたものも判別可能としている。これに対してリフレクションによる、sun.reflect.Generated

    解放されないリフレクションクラス - たぷつきません
  • wall-climb » Tomcatクラスローダと優先順位

    クラスロード順 Bootstrap | System | Common | | Webapp1 Webapp2 ... Tomcatのドキュメントには? 記のようなクラスローダの読み込み優先順位が示されています。ここで注? しなければならないのは、ロードする順とアプリケーションがクラスファイルを優先利用する順は異なるということです。まず「Bootstrap classes of your JVM」「System class loader classses」ぜ JavaやTomcatのメタクラスなので? からロードされるクラスで? 書き出来ません(これを回避する「-Djava.endorsed.dirs」オプションも存在する)。しかし、個々のアプリケーション内でのみ利用可能な「WEB-INF」配下のクラスは、$CATALINA_HOME/$CATALINA_BASE配下のクラスよりも優先して

  • 技術者が知っておきたいTomcat 7の新機能20連発

    技術者が知っておきたいTomcat 7の新機能20連発:Tomcat 7の新機能で何ができるようになるのか?(3)(2/3 ページ) 【3】さまざまな参照をクリアしてメモリリーク防止 メモリリーク防止機能としてWebappClassLoader#clearReferences()が改良されました。WebappClassLoader#clearReferences()はWebAppクラスローダの停止時に呼び出され、クラスローダが保持する、さまざまな参照をクリアします。 以下にclearReferences()に新たに追加されたクリア処理をいくつか記載します。 ■ JDBCドライバの参照をクリア Webアプリケーションを停止するときに、ロードされているすべてのJDBCドライバから停止するWebアプリケーションのクラスローダによってロードされたJDBCドライバをderegisterDriverし

    技術者が知っておきたいTomcat 7の新機能20連発
  • 『tomcat7でメモリリーク。PermGenを食いつぶす』

    あきらるブログる なかなかひとつに絞れない大好きなものを日記として残してます。 ・ソロギター ・IT ・マクロス Seasar2 SAStruts Jdk6 tomcat7 の稼動環境で、コンテキストをアンデプロイしてもメモリリークが発生しておりPermGenをいつぶす 【現象】 JDBCで使用しているクラス群がTOMCATのクラスローダーによって使用されたため、 コンテキストのアンデプロイを実施してもクラスが解放されないため、 PermGenをいつぶしていた。 ・jdk1.6.0_31 ・apache-tomcat-7.0.27 ・s2-framework-2.4.45 ・sa-struts-1.0.4-sp9 調査にあたり、jvisualvm.exeでメモリ状況を確認する為、TomcatConfigurationに下記を追加。 -Dcom.sun.management.jmxrem

    『tomcat7でメモリリーク。PermGenを食いつぶす』
  • 肥え続けるTomcatと胃を痛めるトラブルハッカー (1/3) - @IT

    肥え続けるTomcatと胃を痛めるトラブルハッカー:現場から学ぶWebアプリ開発のトラブルハック(8)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) メモリリークと聞いて、良いイメージを思い浮かべる開発者は少ないだろう。経験したことのある人にとっては、思い出したくない過去の記憶がよみがえるかもしれない。もしかしたら、その単語を聞くだけで胃が痛くなる人もいるかもしれない。筆者もかつてはその1人であった。 前々回の記事では、WebサーバとTomcatの間の接続において、スレッド数の不整合により発生したトラブル事例を、前回はTomcatとDBサーバの間のトラブル事例を紹介した。今回もTom

    肥え続けるTomcatと胃を痛めるトラブルハッカー (1/3) - @IT
  • まじめにJVMチューニング: 第1回 まずは現状確認

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

  • Tomcat - server.xml

    Tomcat(4.1.24対応)のserver.xmlについての解説です。 このファイルを修正したら、Tomcatを再起動する必要があります。 Webアプリケーション単位の設定は、各WebアプリケーションのWEB-INFディレクトリにある web.xmlで行うことができます。 要素の親子関係 Server server.xmlのルートになる唯一の要素(Element)です。 className 使用するサーブレットコンテナクラスを指定します。 このクラスは org.apache.catalina.Server インターフェイスを実装している必要があります。 省略すると、org.apache.catalina.core.StandardServer がデフォルトで使用されます。 port このサーバがシャットダウンコマンドを受け取るために待機するポート番号を指定します。 shutdown こ

  • Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か

    GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行時間を1秒未満に抑えること。 マイナーGCは1秒未満どころではなく、もっと短くなるべき。どれくらいが理想かは?(0.1秒未満ぐらいを目指したい?) 連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 理想的な状態は、上記に加えて、Full GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジェクト。逆にセッションオブジェクト等は長命オブジェクトとなる)を破棄させて、短命オブジェクトが、Tenu

    Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か
  • GCログに日付/時刻を出力させる - CLOVER🍀

    GCログの小ネタです。 GCログのオプションとして、「-XX:+PrintGCTimeStamps」、「-XX:+PrintGCDetails」、「-XX:+PrintGC」(PrintGCDetailsを指定すれば、無くてもOK)は有名だと思いますが $ java -XX:+PrintGCTimeStamps -XX:+PrintGCDetails Monitor 0.290: [GC [PSYoungGen: 15808K->2612K(18432K)] 15808K->8830K(60672K), 0.0472900 secs] [Times: user=0.06 sys=0.02, real=0.05 secs] 0.355: [GC [PSYoungGen: 18420K->2593K(34240K)] 24638K->18138K(76480K), 0.0549070 secs

    GCログに日付/時刻を出力させる - CLOVER🍀
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • 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のブログ
  • ガベージコレクタの仕組みを理解する

    GCを適切に行わせるためのヒープサイズの設定 JVMにGCを適切に行わせるにはヒープサイズを適切に設定(New領域サイズ、Old領域サイズ、領域サイズのバランスなど)する必要があります。当然、適切なヒープサイズはアプリケーションに依存します。一般にヒープサイズが小さいとGCが頻発してアプリケーションのパフォーマンスが低下します。さらに、ヒープサイズが必要量を下回る場合はOutOfMemoryErrorが発生してアプリケーションが停止してしまいます。一方、ヒープサイズが大きいと、GCの起動回数は減りますが、GC1回当たりの処理時間、すなわちアプリケーション停止状態が長くなり、アプリケーションの応答時間に問題が出る場合もあります。システムの物理メモリのフリー領域が不足するまでヒープサイズを大きくすると、物理メモリからスワップ領域へのページングが起こってしまい、かなりのパフォーマンスが劣化する可

    ガベージコレクタの仕組みを理解する
  • “Stop the World”を防ぐコンカレントGCとは?

    この表2のパラメータは、動作させるマシンのCPUが2個以上かつ物理メモリが2Gbytes以上の場合には、自動設定される。 ■Heapの全体サイズを指定する コンカレントGCでも、スループットGCと同じくHeapの全体サイズを指定する。ヒープの全体サイズは、以下を考慮に入れて設定する。 OSの空きメモリ量 Heapの全体サイズは、ハードウェアの搭載物理メモリ量から、OSやそのほかのソフトウェアが必要とするメモリ量を引いた値以下にする。これは、Heapのサイズを大きくし過ぎると、スワップが発生し大幅に性能が劣化するためだ アプリケーションが必要とするメモリ量 ユーザーごとにHttpSessionに積み込むオブジェクトのサイズや、キャッシュされたオブジェクトのサイズなど、必要となるオブジェクトのサイズを積算し、それ以上の値にする 実際には、アプリケーションが必要とするメモリ量を積算することは難し

    “Stop the World”を防ぐコンカレントGCとは?
  • syboos.jp