1

VMware で実行されている sles10 x64 で xms = xmx を使用して RAM を割り当てようとしています。

JVM を停止すると、次のエラーがスローされます。

Java HotSpot(TM) 64-Bit Server VM warning: Failed to reserve shared memory (errno = 12).

The RAM of the VM is 8 GB and they are reserved.

VM は 8GB を認識し、XMX 設定を介して実行時に割り当てることができます。

VMWare経由で予約された16 GB RAMを備えた別の仮想SLES10では、echoのみでhugepagesとshmaxを設定しても、RAMの割り当てに問題はありません。

エコー 8000 > /proc/sys/vm/nr_hugepages

エコー 8589934592 > /proc/sys/kernel/shmmax

他の SLES10 で echo コマンドを使用しても、/proc/meminfo にはまったく影響がありません。

これが私の構成です。最初に、XMS が割り当てに失敗する SLES10 です。

# もっと /apps/liferay-portal-5.2.5/tomcat-5.5.27/bin/setenv.sh
JAVA_HOME=/apps/java5
JRE_HOME=/apps/java5
JAVA_OPTS="$JAVA_OPTS -Xms3G -Xmx3G -XX:NewRatio=3 -XX:MaxPermSize=256m -XX:SurvivorRatio=20 -Dsun.rmi.dgc.client.gcInterval=1800000 -Dsun.rmi.dgc.server.gcInterval= 1800000 -XX:+UsePa
rallelGC -XX:ParallelGCThreads=4 -XX:+UseLargePages -Xloggc:/apps/gc.log -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGC -XX:+PrintGCTimeStamps -
XX:+PrintGCDetails -Dfile.encoding=UTF8 -Duser.timezone=GMT+2 -Djava.security.auth.login.config=$CATALINA_HOME/conf/jaas.config -Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_C
LEAR_REFERENCES=false"


もっと /etc/sysctl.conf
kernel.shmmax=7516192768
vm.nr_hugepages=3072
vm.hugetlb_shm_group=1000

もっと /etc/securtiy/limits.conf

#                 
#

#* ソフトコア 0
#* ハードRSS 10000
#@学生ハード nproc 20
#@facultyソフトnproc 20
#@faculty hard nproc 50
#ftp ハード nproc 0
#@学生 - maxlogins 4
*ソフトmemlock無制限
* ハード memlock 無制限
tomcat ソフト memlock 6291456
tomcat ハード memlock 6291456
# ファイルの終わり


 # 猫 /proc/meminfo
MemTotal: 7928752 kB
MemFree: 737004 kB
バッファ: 0 kB
キャッシュ: 417368 kB
スワップキャッシュ: 0 kB
アクティブ: 487428 kB
非アクティブ: 324072 kB
ハイトータル: 0kB
ハイフリー: 0kB
LowTotal: 7928752 kB
LowFree: 737004 kB
SwapTotal: 2097144 kB
スワップフリー: 2097020 kB
ダーティ: 0 kB
ライトバック: 0 KB
アノンページ: 397208 kB
マッピング済み: 72180 kB
スラブ: 62136 kB
コミット制限: 2915792 kB
コミット済み_AS: 748576 kB
ページテーブル: 3292 kB
VmallocTotal: 34359738367 kB
Vmalloc使用済み: 7028 kB
VmallocChunk: 34359731271 kB
HugePages_Total: 3072
HugePages_Free: 2305
HugePages_Rsvd: 897
ヒュージページサイズ: 2048 kB

# ipcs -l

共有メモリの制限 --------
セグメントの最大数 = 4096
最大セグメント サイズ (キロバイト) = 7340032
最大合計共有メモリ (キロバイト) = 4611686018427386880
最小セグメント サイズ (バイト) = 1

セマフォの制限 --------
配列の最大数 = 1024
配列あたりの最大セマフォ = 250
システム全体の最大セマフォ = 256000
semop 呼び出しごとの最大 ops = 32
セマフォの最大値 = 32767

メッセージ: 制限 --------
システム全体の最大キュー数 = 16
メッセージの最大サイズ (バイト) = 65536
デフォルトのキューの最大サイズ (バイト) = 65536

# ulimit -a
コア ファイル サイズ (ブロック、-c) 0
データ セグメント サイズ (キロバイト、-d) 無制限
ファイルサイズ (ブロック、-f) 無制限
保留中のシグナル (-i) 65536
最大ロック メモリ (キロバイト、-l) 無制限
最大メモリ サイズ (キロバイト、-m) 無制限
ファイルを開く (-n) 1024
パイプサイズ (512 バイト、-p) 8
POSIX メッセージ キュー (バイト、-q) 819200
スタックサイズ (キロバイト、-s) 8192
CPU 時間 (秒、-t) 無制限
最大ユーザー プロセス (-u) 65536
仮想メモリ (キロバイト、-v) 無制限
ファイルロック (-x) 無制限

2 番目の VM では、次のようになります。

猫/proc/meminfo
MemTotal: 16190448 kB
MemFree: 176812 kB
バッファ: 52752 kB
キャッシュ: 755256 kB
スワップキャッシュ: 0 kB
アクティブ: 713808 kB
非アクティブ: 425300 kB
ハイトータル: 0kB
ハイフリー: 0kB
LowTotal: 16190448 kB
低フリー: 176812 kB
スワップ合計: 35658896 kB
スワップフリー: 35658796 kB
ダーティー: 932kB
ライトバック: 0 KB
アノンページ: 333620 kB
マッピング済み: 79120 kB
スラブ: 37492kB
コミット制限: 36356744 kB
コミット済み_AS: 646284 kB
ページテーブル: 3584 kB
VmallocTotal: 34359738367 kB
Vmalloc使用済み: 23500 kB
VmallocChunk: 34359713907 kB
HugePages_Total: 7224
HugePages_Free: 6654
HugePages_Rsvd: 582
ヒュージページサイズ: 2048 kB

JAVA_OPTS="$JAVA_OPTS -Xms2G -Xmx2G -XX:NewRatio=3 -XX:MaxPermSize=256m -XX:SurvivorRatio=20 -Dsun.rmi.dgc.client.gcInterval=1800000 -Dsun.rmi.dgc.server.gcI
nterval=1800000 -XX:+UseParallelGC -XX:ParallelGCThreads=2 -XX:+UseLargePages -Xloggc:/apps/gc.log -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplication
ConcurrentTime -XX:+PrintGC -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Dfile.encoding=UTF8 -Duser.timezone=GMT+2 -Djava.security.auth.login.config=$CATALINA
_HOME/conf/jaas.config -Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false"

hepide01pep1:~ # ipcs -l

------ 共有メモリの制限 --------
セグメントの最大数 = 4096
最大セグメント サイズ (キロバイト) = 8388608
最大合計共有メモリ (キロバイト) = 4611686018427386880
最小セグメント サイズ (バイト) = 1

------ セマフォの制限 --------
配列の最大数 = 1024
配列あたりの最大セマフォ = 250
システム全体の最大セマフォ = 256000
semop 呼び出しごとの最大 ops = 32
セマフォの最大値 = 32767

------ メッセージ: 制限 --------
システム全体の最大キュー数 = 16
メッセージの最大サイズ (バイト) = 65536
デフォルトのキューの最大サイズ (バイト) = 65536


4

2 に答える 2

2

少ないサイズのヒープで試しましたか.. 2ギガである可能性があります。java -Xmx3G -version で簡単に試すことができます。

于 2010-08-25T16:54:22.443 に答える