当前位置: 主页 > 采集相关 > 关键词采集

Linux部署项目命令参数你懂吗?(如何在linux部署软件)

时间:2023-03-05 02:06:29 关键词采集 我要投稿

java -jar XXX.jar &命令结尾没有“&”,则变成“java -jar XXX.jar ”,表示在当前ssh窗口,可按CTRL + C打断程序运行,或者直接关闭窗口,则程序直接退出命令结尾添加“&”,则变成“java -jar XXX.jar &”,表示在当窗口关闭时,程序才会中止运行。

&代表让该命令在后台执行nohup java -jar XXX.jar > Log.log &或者 nohup java -jar XXX.jar >> Log.log &命令"nohup java -jar XXX.jar &"部分,表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。

注意,该作业的所有输出被重定向到nohup.out的文件中命令"nohup java -jar XXX.jar > Log.log &"部分,表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,并且该作业的所有输出被重定向到Log.log的文件中。

“> Log.log ”该命令就是指定日志输出的文件">>"表示将输出以追加的方式重定向到Log.log中nohup java -jar XXX.jar > Log.log 2>&1&或者 nohup java -jar XXX.jar >> Log.log 2>&1&

或者 nohup java -jar XXX.jar >/dev/null 2>&1&标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。

标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息屏蔽输出,起到禁止输出作用:/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。

但是/dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果“> Log.log 2>&1”:表示将 stdout 和 stderr 合并后重定向到 Log.lognohup java -jar -XX:MetaspaceSize=1g -XX:MaxMetaspaceSize=1g -Xmx2048m -Xms2048m -Xmn256k test-*.jar >/dev/null &

-XX:MetaspaceSize=256m的含义到底是什么呢?其实,这个JVM参数是指Metaspace扩容时触发FullGC的初始化阈值,也是最小的阈值这里有几个要点需要明确:无论-XX:MetaspaceSize配置什么值,Metaspace的初始容量一定是21807104(约20.8m);。

Metaspace由于使用不断扩容到-XX:MetaspaceSize参数指定的量,就会发生FGC;且之后每次Metaspace扩容都会发生FGC;如果Old区配置CMS垃圾回收,那么第2点的FGC也会使用CMS算法进行回收;

Meta区容量范围为[20.8m, MaxMetaspaceSize);如果MaxMetaspaceSize设置太小,可能会导致频繁FGC,甚至OOM;建议:MetaspaceSize和MaxMetaspaceSize设置一样大;

具体设置多大,建议稳定运行一段时间后通过jstat -gc pid确认且这个值大一些,对于大部分项目256m即可-Xmx10240m:代表最大堆-Xms10240m:代表最小堆-Xmn5120m:代表新生代。

猜你喜欢