サンプル集 |
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■other |
Linuxコマンド |
用語集 |
debian メモ |
apache2 メモ |
MySQL メモ |
Oracle メモ |
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_HOM
E/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 st
0 0 0 707008 37916 216380 0 0 52 9 1012 39 11 1 88 0 0
free 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 ymlib.com