爬虫類のシナリオの説明

2808 ワード

Java起動スクリプトのセグメントは次のとおりです.

export JAVA_HOME=jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:.:$CLASSPATH
JAVA=$JAVA_HOME/bin/java
JAVA_OPTS="$JAVA_OPTS -server -Xms256m -Xmx1024m -Xmn128m"
#performance Options
JAVA_OPTS="$JAVA_OPTS -XX:+AggressiveOpts"
JAVA_OPTS="$JAVA_OPTS -XX:+UseBiasedLocking"
JAVA_OPTS="$JAVA_OPTS -XX:+UseFastAccessorMethods"
JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC"
JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC"
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSParallelRemarkEnabled"
JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSCompactAtFullCollection"
JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly"
JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75"


APP_DIR="."
CONF_DIR="$APP_DIR/conf"
CFG_NAME="$CONF_DIR/global.properties"
TIMEZONE="-Dfile.encoding=UTF8 -Duser.timezone=GMT+08"


nohup $JAVA $JAVA_OPTS $TIMEZONE  -cp "$CONF_DIR:$APP_DIR/lib/GetTask-0.0.1.jar:$APP_DIR/lib/*" cn.put.tasks.GetTask $CFG_NAME > /dev/null 2>&1 &


#$JAVA $JAVA_OPTS -cp "$CONF_DIR:$APP_DIR/lib/GetTask-0.0.1.jar:$APP_DIR/lib/*" cn.put.tasks.GetTask $CFG_NAME

前の3つ:exportは環境変数の導入とjarパッケージの実行経路、JAVA_OPTSはJVM運転のパラメータを指定する:
1.client、-serverの2つのパラメータは、仮想マシンがどのような動作モードを使用するかを設定するために使用されます.clientモードの起動は速いですが、実行時のパフォーマンスとメモリ管理効率はserverモードに及ばず、通常はクライアントアプリケーションで使用されます.逆に、serverモードの起動はclientより遅いが、より高い実行性能を得ることができる.2.-Xms256m -Xmx1024m -Xmn128m
仮想マシンの実行パラメータXmsは最小分配スタックメモリ256 M、Xmx 1024 Mは最大スタックメモリ1024 M、-Xmn 128 mは若年帯のheapサイズ128 mを指定します.
3.性能パラメータ
AggressiveOptsはコンパイルを高速化し、新しいパフォーマンス最適化がHotSpot VMに統合されると、-XX:+AggressiveOptsオプションで有効になります.
UseBiasedLockingは、ヨーロックを有効にすることでシステムのパフォーマンスを改善できることを示しています.ヨーロックとは、同期時に同期オブジェクトが常に1つのスレッドであることを意味します.これにより、jvmオブジェクトヘッダに現在のスレッドを格納することで、同じスレッドが同期コードブロックを実行する際にロックの取得や解放操作を必要とせず、プログラムのパフォーマンスを向上させることができます.
UseFastAccessorMethodsの元のタイプの高速最適化
DisableExplicitGCシステムを閉じる.gc()
UseParNewGC:若い世代をパラレルコレクションとして設定し、CMSコレクションと同時に使用できます.
UseConcMarkSweepGC:CMSメモリ収集を使用
CMSParallelRemarkEnabled:タグの停止を下げる
UseCMSCompactAtFullCollection:Full GCでは古い世代を圧縮し、CMSはメモリを移動しないため、これは非常に断片化しやすく、メモリが足りないため、メモリの圧縮がこのときに有効になります.このパラメータを増やすのは良い習慣です.パフォーマンスに影響を与える可能性がありますが、フラグメントの影響を排除できます.
UseCMSInitiatingOccupancyOnly:手動定義初期化定義を使用してCMS収集を開始し、hostspotがCMS GCを自動的にトリガーすることを禁止する
CMSInitiatingOccupancyFraction=75:CMSでゴミ収集を行い、75%を超えるとCMS収集を開始
4、その他のパラメータ
TIMEZONE="-Dfile.encoding=UTF 8-Duser.timezone=GMT+08"ドキュメントコードutf-8を設定します.タイムゾーンは東八区です.
-cpは-classpathと同様に、クラスの実行に依存する他のクラスのパスを指定します.通常はクラスライブラリ、jarパッケージなどで、jarパッケージへのフルパスが必要です.