linux 环境中 Java -jar 等参数解析

linux 环境中 Java -jar 等参数解析

Linux环境下jar包启动的各种参数

nohup java
    -Xms64m #JVM启动时的初始堆大小
    -Xmx128m #最大堆大小
    -Xmn64m #年轻代的大小,其余的空间是老年代
    -XX:MaxMetaspaceSize=128m #
    -XX:CompressedClassSpaceSize=64m #使用 -XX:CompressedClassSpaceSize 设置为压缩类空间保留的最大内存。
    -Xss256k #线程
    -XX:InitialCodeCacheSize=4m #
    -XX:ReservedCodeCacheSize=8m # 这是由 JIT(即时)编译器编译为本地代码的本机代码(如JNI)或 Java 方法的空间
    -XX:MaxDirectMemorySize=16m
    -XX:NativeMemoryTracking=summary #开启内存追踪
    -jar app.jar  > /dev/app.log &
        

java -jar 命令详解

java -jar命令用于执行jar程序,常用的写法有5种:

1. 第一种
java -jar demo.jar

说明:用这种方法启动后,不能继续执行其它命令了,如果想要继续执行其它命令,需要退出当前命令运行窗口,会打断jar的运行,打断一般用ctrl+c。

2. 第二种
java -jar demo.jar &

说明:第2种在第1种方式的基础上在命令的结尾增加了&,&表达的意思是在后台运行。

这种方式可以避免打断后程序停止运行的问题,但是如果关闭当前窗口后程序会停止运行。

3. 第三种
nohup java -jar demo.jar &

说明:第3种在第2种方式的基础上,在命令的最前面增加了nohup。

nohup是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。

加了nohup后,即使关掉命令窗口,后台程序demo.jar也会一直执行。

4. 第四种
nohup java -jar demo.jar >1.txt &

说明:第4种在第3种的基础上,在后面增加了>1.txt,意思是将nohup java -jar demo.jar的运行内容重定向输出到1.txt文件中,即输出内容不打印到当前窗口上,而是输出到1.txt文件中。

第3种没有加>1.txt,它的输出重定向到nohup.out文件中,nohup.out也就是nohup命令的默认输出文件, 文件位于$HOME/nohup.out 文件中,比如用root执行,就会输出到/root/nohup.out。

5. 第五种
nohup java -jar demo.jar >/dev/null 2>&1 &

说明:

这里说下jar后面这串符号的意义 > /dev/null 2>&1 &

  • > 代表重定向到哪里,例如:echo “123” > /home/123.txt
  • /dev/null 代表空设备文件
  • 2> 表示stderr标准错误
  • & 表示等同于的意思,2>&1,表示2的输出重定向等同于1
  • 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于 “1>/dev/null”

最后一个&表示在后台运行。

这里再补充说下这几个数字代表的含义:

  • 0 标准输入(一般是键盘)
  • 1 标准输出(一般是显示屏,是用户终端控制台)
  • 2 标准错误(错误信息输出)

/dev/null :首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。一般项目中定义中输出运行日志到指定地址,这样的话,就不需要再单独输出nohup.out文件,这种情况可以考虑使用这种。

我们可以把它写成一个脚本,不用每次都写一遍。新建start.sh,根据我上传的demo.jar,输出到1.txt中,具体脚本如下:

nohup  java  -Xms515m -Xmx1024m -jar -Dfile.encoding=UTF-8 demo.jar --spring.profiles.active=prod >/dev/null 2>&1 &

可以看到,上面的命令中我使用了Xms、Xmx、Dfile.encoding、spring.profiles.active等参数,那么java -jar可以添加什么参数,各自又能实现什么样的效果呢,且看下文:

  • -Xms 指定jvm运行最小运行堆内存,默认为物理内存1/64,用法 :-Xmx512m 注意:Xmx和512m中间不用添加空格
  • -Xmx 指定jvm运行最大运行堆内存,认物理内存1/4,用法: -Xmx1024m 注意:Xmx和1024m中间不用添加空格
  • --server.port 指定jar运行的port端口,用法:–server.port=8085
  • --spring.profiles.active=pro 指定运行的配置文件、环境,用法:–spring.profiles.active=prodyua

原文章:[原文章路径](java -jar设置添加启动参数实现方法-码农之家 (xz577.com))

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值