nohup java -Xms512m -Xmx1024m -jar ......

完整命令及解释如下:

nohup java -Xms512m -Xmx1024m -jar /jack/cloudmes/jar/njp-plus-empty-admin-api.jar --spring.profiles.active=onlineTest --type=jack > /jack/cloudmes/jar/out.file 2>&1 &

  • nohup:不挂断地运行命令,即使终端关闭,命令也会一直运行。这个命令常用于长时间运行的任务,如后台服务程序等。
  • java:Java 程序执行命令。
  • -Xms512m:设置 JVM 初始分配的堆内存大小为 512MB。
  • -Xmx1024m:设置 JVM 最大可用的堆内存大小为 1024MB。
  • -jar:表示运行一个 jar 文件。
  • /jack/cloudmes/jar/njp-plus-empty-admin-api.jar:要运行的 jar 文件的路径。
  • --spring.profiles.active=onlineTest:设置 Spring Boot 运行时的 profile 为 onlineTest。
  • --type=jack:设置程序运行类型为 jack。
  • > /jack/cloudmes/jar/out.file:将程序的标准输出(STDOUT)重定向到 /jack/cloudmes/jar/out.file 文件中。其中,">" 表示覆盖写入,如果想要追加写入可以使用 ">>"。
  • 2>&1:将程序的标准错误输出(STDERR)重定向到标准输出中,使得标准输出和标准错误都被写入到 /jack/cloudmes/jar/out.file 文件中。
  • &:将命令放入后台运行。

如何根据-Xms和-Xmx设置堆内存大小?

在 Java 应用程序中,-Xms 和 -Xmx 选项用于设置 Java 虚拟机(JVM)的初始堆大小和最大堆大小。

-Xms 选项设置 JVM 的初始堆大小。默认情况下,JVM 的初始堆大小为物理内存的 1/64。例如,如果物理内存为 8 GB,则 JVM 的初始堆大小为 128 MB。使用 -Xms 选项可以显式设置 JVM 的初始堆大小。例如,要将 JVM 的初始堆大小设置为 512 MB,可以使用以下命令:

java -Xms512m MyApp

-Xmx 选项设置 JVM 的最大堆大小。默认情况下,JVM 的最大堆大小为物理内存的 1/4。使用 -Xmx 选项可以显式设置 JVM 的最大堆大小。例如,要将 JVM 的最大堆大小设置为 1024 MB,可以使用以下命令:
 

java -Xmx1024m MyApp

需要注意的是,JVM 的最大堆大小不能超过系统内存大小。

-Xms 和 -Xmx 这两个选项可以影响 JVM 的性能和稳定性。

需要注意以下几点:

  1. -Xms 和 -Xmx 选项必须使用相同的单位,通常是m(MB)或g(GB)。

  2. 初始堆大小不应该小于最小堆大小,最大堆大小不应该大于系统可用内存。

  3. 如果设置的初始堆大小和最大堆大小相同,则 JVM 只会在启动时分配一块内存,这可能导致程序运行时发生内存分配错误。因此,通常应将初始堆大小设置为最小堆大小,将最大堆大小设置为预计使用内存的两倍。

  4. 过大的堆大小可能会导致长时间的垃圾回收,从而导致性能下降。因此,应该根据应用程序的需求来调整堆大小,以实现最佳性能和稳定性。

  5. 在设置 JVM 堆大小时,还应考虑其他因素,例如应用程序的并发访问量、线程数和所需的堆外内存大小等。

 如何查看linux物理内存大小?

在 Linux 中,可以使用 free 命令来查看系统的物理内存大小和使用情况。

free -h

查询结果如下:

查询结果中的swap是什么?

在 Linux 中,swap 是虚拟内存(swap space)的意思,是在运行内存(RAM)不足时用作备用的一部分磁盘空间。如果系统中的运行内存用尽了,而又有新的进程需要使用内存,就会将某些不经常使用的数据移到 swap 空间中,以便腾出运行内存供新的进程使用。因此,如果系统中的 swap 空间过小,就会影响系统的性能和稳定性。

--type=jack 是什么?

通常情况下,我们会为程序传入一些自定义参数,这些参数可以用于在程序运行时做出不同的行为或配置。--spring.profiles.active=onlineTest 是一个常用的选项,用于指定程序运行的配置文件,而 --type=jack 则是程序中自定义的一个选项

个人大白话理解:--type=jack 作用是运行java程序时,在JVM中定义一个变量type和值jack。java应用程序运行时,可以获取到这个变量的值(具体怎么获取无非就是通过一些api等),如果应用程序是springboot项目,yml配置文件中可以用过 ${type} 获取变量值。这个选项可能在程序中被使用,也可能是没有用到,不影响程序运行。

 

详解 > /jack/cloudmes/jar/out.file 2>&1 &这段命令

这段命令是用来将命令的输出重定向到文件并使命令在后台运行的。具体解释如下:

  1. > 符号用于将命令的输出重定向到文件 /jack/cloudmes/jar/out.file,如果该文件不存在,则会创建该文件。例如,命令 ls > out.txt 将把 ls 命令的输出写入到文件 out.txt 中。

  2. 2>&1 符号将标准错误输出(标准错误流)重定向到标准输出(标准输出流),也就是将错误信息输出到与正常输出相同的地方。例如,命令 ls -l badfile 2>&1 将把标准错误输出写入到标准输出中,这样就可以在同一个文件或终端中看到所有的输出。

  3. & 符号用于将命令放到后台运行,这样就可以在命令执行的同时进行其他操作了。例如,命令 nohup sleep 10 > out.txt 2>&1 & 将在后台运行一个 sleep 命令,并将其输出重定向到文件 out.txt 中。

综上所述,这段命令的作用是将 java 命令在后台运行,并将其输出重定向到文件 /jack/cloudmes/jar/out.file 中。2>&1 保证标准错误信息和标准输出信息都会被重定向到文件中。

成功运行命令后,如何查询应用的进程id?

使用命令:

ps -ef| grep xxl-job-executor-2.4.1-SNAPSHOT.jar

查询结果:

root     27318     1  1 09:13 pts/12   00:00:15 java -Xms512m -Xmx1024m -jar /jack/cloudmes/job/xxl-job-executor-2.4.1-SNAPSHOT.jar --spring.profiles.active=onlineTest
root     28583 28532  0 09:36 pts/14   00:00:00 grep --color=auto xxl-job-executor-2.4.1-SNAPSHOT.jar

查询结果中第二行进程是什么?带 --color字样

该进程就是查询命令本身。是一个 grep 命令的进程,用于查找包含 xxl-job-executor-2.4.1-SNAPSHOT.jar 字符串的进程

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nohup命令可以用于在Linux系统下以后台方式运行命令,从而避免用户退出终端或网络连接中断导致命令停止运行。该命令会将命令的输出重定向到指定文件中,使得命令可以在后台持续运行。你可以使用以下格式来使用nohup命令:nohup 命令 &> 文件名 &。例如,如果你想要以后台方式运行一个Python脚本并将输出重定向到a.log文件中,你可以使用命令:nohup python a.py &> a.log &。这样,命令就会在后台运行,并将输出保存到a.log文件中。这在运维和开发人员需要持续运行任务的场景中非常有用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Centos之nohup 后台运行程序](https://blog.csdn.net/qq_31279347/article/details/82818940)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【Linuxnohup & 后台运行](https://blog.csdn.net/m0_60313295/article/details/130264062)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [nohup 后台运行](https://blog.csdn.net/qq_35091353/article/details/106217195)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值