Linux添加用户# adduser aqgk
# su - aqgk
安装Java环境
1、上传介质到服务器
安装JDK-> jdk-8u221-linux-x64.tar.gz
tar -zxvf jdk-8u221-linux-x64.tar.gz
2、配置环境变量
用户环境变量位置
注:.bashrc->用户登入shell时执行。
注:.bash_profile->用户登入shell时执行。
vi /home/aqgk/.bashrc
3、环境变量内容
注:export命令用于设置或显示环境变量。
export JAVA_HOME=/home/aqgk/Java/jdk1.8.0_221
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
export JRE_HOME=$JAVA_HOME/jre
4、导出环境变量
source命令:在当前bash环境下读取并执行FileName中的命令。
source /home/aqgk/.bashrc
启动Java(SpringBoot)应用java
-Djava.security.egd=file:/dev/./urandom
-Xms2048m
-Xmx2048m
-XX:MetaspaceSize=512M
-XX:MaxMetaspaceSize=512M
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/log/javadump
-jar application.jar &
Djava.security.egd:非阻塞的熵源,随机数生成方法。
注:http://www.what21.com/u/10007/9089274064966658452.htm
-Xms128m:初始堆大小为2048M。
-Xmx128m:最大堆大小为2048M。
-XX:MetaspaceSize:这个参数是初始化的Metaspace大小,该值越大触发Metaspace GC的时机就越晚。随着GC的到来,虚拟机会根据实际情况调控Metaspace的大小,可能增加上线也可能降低。在默认情况下,这个值大小根据不同的平台在12M到20M浮动。使用java -XX:+PrintFlagsInitial命令查看本机的初始化参数,-XX:Metaspacesize为21810376B(大约20.8M)。
-XX:MaxMetaspaceSize:这个参数用于限制Metaspace增长的上限,防止因为某些情况导致Metaspace无限的使用本地内存,影响到其他程序。在本机上该参数的默认值为4294967295B(大约4096MB)。
元空间(Metaspace):一个新的内存空间的诞生,与 Oracle JRockit 和 IBM JVM类似,JDK 8.HotSpot JVM开始使用本地化的内存存放类的元数据,这个空间叫做元空间(Metaspace)。
注:https://cloud.tencent.com/developer/article/1338426
-XX:+HeapDumpOnOutOfMemoryError:内存溢出时生成heapdump文件。
-XX:HeapDumpPath=/var/log/javadump :内存溢出后,heapdump文件存放的位置。
其他参考参数:
-Xmn:64M:新生代的内存为64M。
-XX:SurvivorRatio=2:比例:Eden/From。
-XX:NewRatio=2:比例:老年代/新生代。
-XX:PermSize=10M:方法区(永久代)内存大小。
-XX:MaxPermSize=10M:方法区(永久代)内存最大为10M。
-XX:MaxDirectMemorySize:直接内存设置,如果不指定,则默认与Java堆最大值(-Xmx指定)一样。
-XX:+PrintGCDetails:查看GC日志。
-XX:+UseSerialGC:配置串行回收器。
-XX:+PrintCommandLineFlags:可以将隐式或者显示传给虚拟机的参数输出。