自学内容网 自学内容网

nohup java -jar supporterSys.jar --spring.profiles.active=prod &

1、ps -ef | grep java

root@shipper:~# ps -ef | grep java
root      1371     1  0 Sep05 ?        02:22:08 java -jar -Djava.security.egd=file:/dev/./urandom /root/supporterSys.jar --spring.profiles.active=prod
root     19969 19954  0 15:37 pts/1    00:00:00 grep --color=auto java

2、kill 1371

root@shipper:~# kill 1371

3、ps -ef | grep java

root@shipper:~# ps -ef | grep java
root     19981 19954  0 15:37 pts/1    00:00:00 grep --color=auto java

4、nohup java -jar supporterSys.jar --spring.profiles.active=prod &

root@shipper:~# nohup java -jar supporterSys.jar --spring.profiles.active=prod &
[1] 19994
root@shipper:~# nohup: ignoring input and appending output to 'nohup.out'

5、ps -ef | grep java

root@shipper:~# ps -ef | grep java
root     19994 19954 92 15:40 pts/1    00:00:35 java -jar supporterSys.jar --spring.profiles.active=prod
root     20059 20028  0 15:41 pts/2    00:00:00 grep --color=auto java

在这里插入图片描述

root      1371     1  0 Sep05 ?        02:22:08 java -jar -Djava.security.egd=file:/dev/./urandom /root/supporterSys.jar --spring.profiles.active=prod
root     19994 19954 92 15:40 pts/1    00:00:35 java -jar supporterSys.jar --spring.profiles.active=prod
这两者有什么区别?

您提供的两个进程信息显示了两个运行 supporterSys.jar 的 Java 进程。这两个进程有一些明显的区别,主要体现在启动方式、启动时间和资源占用等方面。下面是对这两个进程的详细分析:

1. 启动方式

进程 1371
root      1371     1  0 Sep05 ?        02:22:08 java -jar -Djava.security.egd=file:/dev/./urandom /root/supporterSys.jar --spring.profiles.active=prod
  • 启动用户root
  • 父进程 ID1(通常表示这是系统启动时的一个守护进程)
  • 启动时间Sep05(9月5日)
  • 终端?(表示这不是一个交互式终端,而是一个后台进程)
  • CPU 使用率0%
  • 内存使用时间02:22:08(表示这个进程已经运行了大约2小时22分钟)
  • 启动参数
    • -Djava.security.egd=file:/dev/./urandom:设置 Java 安全随机数生成器的熵源为 /dev/urandom,这可以加快随机数生成速度。
    • --spring.profiles.active=prod:激活 Spring 的 prod 配置文件。
进程 19994
root     19994 19954 92 15:40 pts/1    00:00:35 java -jar supporterSys.jar --spring.profiles.active=prod
  • 启动用户root
  • 父进程 ID19954(表示这是从另一个进程启动的)
  • 启动时间15:40(当天的15:40)
  • 终端pts/1(表示这是一个交互式终端)
  • CPU 使用率92%(表示这个进程占用了大量的 CPU 资源)
  • 内存使用时间00:00:35(表示这个进程已经运行了大约35秒)
  • 启动参数
    • --spring.profiles.active=prod:激活 Spring 的 prod 配置文件。

2. 主要区别

  1. 启动时间

    • 进程 1371 从9月5日开始运行,已经运行了较长时间。
    • 进程 19994 从当天的15:40开始运行,是一个较新的进程。
  2. 终端

    • 进程 1371 是一个后台进程,没有关联到任何终端。
    • 进程 19994 是一个交互式终端进程,关联到 pts/1
  3. CPU 使用率

    • 进程 1371 的 CPU 使用率为 0%,表示它几乎不占用 CPU 资源。
    • 进程 19994 的 CPU 使用率为 92%,表示它占用了大量的 CPU 资源。
  4. 启动参数

    • 进程 1371 额外设置了 -Djava.security.egd=file:/dev/./urandom 参数,用于优化随机数生成。
    • 进程 19994 没有设置这个参数。
  5. 父进程 ID

    • 进程 1371 的父进程 ID 是 1,表示它是系统启动时的一个守护进程。
    • 进程 19994 的父进程 ID 是 19954,表示它是从另一个进程启动的。

3. 可能的原因

  1. 进程 1371 可能是一个长期运行的服务,启动时配置了优化参数,运行稳定,占用资源较少。
  2. 进程 19994 可能是一个最近手动启动的进程,可能因为某些原因(如代码问题、数据量大、任务密集等)导致 CPU 占用过高。

4. 建议

  1. 检查进程 19994 的日志

    • 查看应用程序的日志文件,寻找可能导致高 CPU 使用率的原因。
    • 使用 tophtop 命令实时监控 CPU 使用情况。
  2. 比较两个进程的配置

    • 确认两个进程的配置文件是否一致,特别是数据库连接、线程池配置等。
    • 检查是否有任务调度或定时任务在进程 19994 中执行,导致 CPU 占用高。
  3. 优化代码

    • 如果发现代码中有性能瓶颈,考虑优化代码或调整配置。
  4. 停止不必要的进程

    • 如果进程 19994 是一个重复启动的进程,可以考虑停止它,只保留一个稳定的进程。

通过这些步骤,您应该能够更好地理解这两个进程的区别,并解决可能存在的问题。如果您有任何其他问题或需要进一步的帮助,请告诉我!


原文地址:https://blog.csdn.net/m0_65152767/article/details/143975854

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!