文章目录
- 1、ps -ef | grep java
- 2、kill 1371
- 3、ps -ef | grep java
- 4、nohup java -jar supporterSys.jar --spring.profiles.active=prod &
- 5、ps -ef | grep java
- 1. 启动方式
- 进程 1371
- 进程 19994
 
- 2. 主要区别
- 3. 可能的原因
- 4. 建议
 
 
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
- 父进程 ID:1(通常表示这是系统启动时的一个守护进程)
- 启动时间: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
- 父进程 ID:19954(表示这是从另一个进程启动的)
- 启动时间:15:40(当天的15:40)
- 终端:pts/1(表示这是一个交互式终端)
- CPU 使用率:92%(表示这个进程占用了大量的 CPU 资源)
- 内存使用时间:00:00:35(表示这个进程已经运行了大约35秒)
- 启动参数: - --spring.profiles.active=prod:激活 Spring 的- prod配置文件。
 
2. 主要区别
-  启动时间: - 进程 1371 从9月5日开始运行,已经运行了较长时间。
- 进程 19994 从当天的15:40开始运行,是一个较新的进程。
 
-  终端: - 进程 1371 是一个后台进程,没有关联到任何终端。
- 进程 19994 是一个交互式终端进程,关联到 pts/1。
 
-  CPU 使用率: - 进程 1371 的 CPU 使用率为 0%,表示它几乎不占用 CPU 资源。
- 进程 19994 的 CPU 使用率为 92%,表示它占用了大量的 CPU 资源。
 
- 进程 1371 的 CPU 使用率为 
-  启动参数: - 进程 1371 额外设置了 -Djava.security.egd=file:/dev/./urandom参数,用于优化随机数生成。
- 进程 19994 没有设置这个参数。
 
- 进程 1371 额外设置了 
-  父进程 ID: - 进程 1371 的父进程 ID 是 1,表示它是系统启动时的一个守护进程。
- 进程 19994 的父进程 ID 是 19954,表示它是从另一个进程启动的。
 
- 进程 1371 的父进程 ID 是 
3. 可能的原因
- 进程 1371 可能是一个长期运行的服务,启动时配置了优化参数,运行稳定,占用资源较少。
- 进程 19994 可能是一个最近手动启动的进程,可能因为某些原因(如代码问题、数据量大、任务密集等)导致 CPU 占用过高。
4. 建议
-  检查进程 19994 的日志: - 查看应用程序的日志文件,寻找可能导致高 CPU 使用率的原因。
- 使用 top或htop命令实时监控 CPU 使用情况。
 
-  比较两个进程的配置: - 确认两个进程的配置文件是否一致,特别是数据库连接、线程池配置等。
- 检查是否有任务调度或定时任务在进程 19994 中执行,导致 CPU 占用高。
 
-  优化代码: - 如果发现代码中有性能瓶颈,考虑优化代码或调整配置。
 
-  停止不必要的进程: - 如果进程 19994 是一个重复启动的进程,可以考虑停止它,只保留一个稳定的进程。
 
通过这些步骤,您应该能够更好地理解这两个进程的区别,并解决可能存在的问题。如果您有任何其他问题或需要进一步的帮助,请告诉我!