| Linuxコマンド |
| 用語集 |
| debian メモ |
| apache2 メモ |
| MySQL メモ |
| Oracle メモ |
| PostgreSQL |
| HOME |
tomcat が起動しないので状況を確認します。
tomcat 起動・停止のスクリプトは /etc/init.d/tomcat にありました。内容も正しそうです。
/usr/local/tomcat/logs にエラーが出ていました。 内容を確認します。
VMの初期化中にエラー発生。
Could not reserve enough space for object heap
オブジェクトヒープに十分な空きができませんでした。
Could not create the Java virtual machine.
Java バーチャルマシン の作成に失敗しました。
ヒープ容量が足りないようです。
調べたところ、CATALINA_OPTS に指定している値が大きすぎるのではないかと思いました。
CATALINA_OPTSの指定は以下の通りでした。
CATALINA_OPTS="$CATALINA_OPTS -XX:+PrintGCDetails -Xloggc:$CATALINA_H
OME/logs/gc.log"CATALINA_OPTS
-server
Java HotSpot Server VM という、サーバーアプリ用の VM を起動するようです。 実行速度がかなり速くなるようです。
-Xms
メモリ割り当てプールの初期サイズをバイト数で指定します。 キロバイト指定なら k メガバイト指定なら m を付けます。
現在の指定は -Xms2048m なので 2048M(2G)割り当てている事になります。
-Xmx
メモリ割り当てプールの最大サイズをバイト数で指定します。 -Xms と同じくキロバイト指定なら k メガバイト指定なら m を付けます。
現在の指定は -Xmx2048m なので 2048M(2G)割り当てている事になります。
-XX:MaxPermSize
Permanent Space の最大値です。 Permanect領域はヒープにとられ、クラス定義やメソッド、フィールドなどのメタデータが格納されています。 多くのクラスをロードする場合には領域サイズを調整した方がよいようです。
-XX:+PrintGCDetails
GC 関連のオプション。 New 領域、Old 領域の詳細情報を出力するようです。 New 領域、Old 領域ってなんでしょうか・・・
-Xloggc:filename
GC の出力情報ファイルを指定します。
とりあえず CATALINA_OPTS を外して起動してみたところ起動しました。 ログの内容の通りで、やはりメモリを確保できなかった模様です。
空きメモリを vmstat で確認します。
procs ----------memory--------- --swap- --io-- --system-- -----cpu---
--r b swpd free buff cache si so bi bo in cs us sy id wa
st0 0 0 707008 37916 216380 0 0 52 9 1012 39 11 1 88 0
0free 707,008 + buff 37,916 + cache 216,380 で合計 961,304バイトでした。 0.9GB しかメモリが無いので 2Gの確保はできないのは当然ですね。
メモリは /proc/meminfo を見ても確認できるようです。
MemTotal: 1026452 kB
MemFree: 704200 kB
Buffers: 38616 kB
:
こっちの方が見やすいですね。
Copyright (C) 2013 - 2025 ymlib.com
