1. 程式人生 > >以jvm -server 模式執行java程式

以jvm -server 模式執行java程式

#!/bin/sh
HOME=/app/projecthome
CLASSES=$HOME/.../classes
USERLIB=$HOME/.../lib

CLASSPATH=$CLASSES:$USERLIB/...

LANG=zh_CN.gbk
LC_ALL=zh_CN.gbk

export LANG LC_ALL CLASSES USERLIB  CLASSPATH

java -Xloggc:jvm.log -server -Xms1000m -Xmn800m -Xmx1000m -XX:MaxPermSize=512m -classpath $CLASSPATH com.com... >>log.log &

-Xms<size>


設定虛擬機器可用記憶體堆的初始大小,預設單位為位元組,該大小為1024的整數倍並且要大於1MB,可用k(K)或m(M)為單位來設定較大的記憶體數。初始堆大小為2MB。

例如:-Xms6400K,-Xms256M

-Xmx<size>

設定虛擬機器記憶體堆的最大可用大小,預設單位為位元組。該值必須為1024整數倍,並且要大於2MB。可用k(K)或m(M)為單位來設定較大的記憶體數。預設堆最大值為64MB。

例如:-Xmx81920K,-Xmx80M

-Xloggc:<file>

將虛擬機器每次垃圾回收的資訊寫到日誌檔案中,檔名由file指定,檔案格式是平檔案,內容和-verbose:gc輸出內容相同。

-client,-server


這兩個引數用於設定虛擬機器使用何種執行模式,client模式啟動比較快,但執行時效能和記憶體管理效率不如server模式,通常用於客戶端應用程式。相反,server模式啟動比client慢,但可獲得更高的執行效能。

在 windows上,預設的虛擬機器型別為client模式,如果要使用server模式,就需要在啟動虛擬機器時加-server引數,以獲得更高效能,對服 務器端應用,推薦採用server模式,尤其是多個CPU的系統。在Linux,Solaris上預設採用server模式。