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