资讯详情

资讯详情

针对 RK3588 下的JDK17推荐 JVM 参数,以及systemd类型选择

文章目录引言一、为什么 `start.sh + nohup ` 在 systemd 下是错的systemd 对 `ExecStart` 的核心假设你这个脚本发生了什么后果清单二、正确写法:`Type=simple` + 直接 exec✅ 方案 A(最推荐):`Type=simple`,`ExecStart` 直接跑 java为什么这样是对的✅ 方案 B:保留 `start.sh`,但**不用 nohup **,用 `exec`✅ 方案 C:`Type=forking`(不推荐,但如果你坚持用 ``)三、错误例子: `nohup` 脚本逐行点评问题汇总四、针对 RK3588 的推荐 JVM 参数五、日志处理(别再 `/dev/null`)方案 1:journald(推荐,零配置)方案 2:文件 + logrotate方案 3:Spring Boot logback 自己写文件六、最终推荐方案总结七、修正后的 `start.sh`引言在 systemd 下使用 start.sh + nohup 会导致 Java 进程脱离管控,引发服务状态异常、无法重启、日志丢失、资源失控等问题。正确做法是采用 Type=simple 直接运行 Java,或通过 exec 替换脚本进程,确保 systemd 精确控制主进程。针对 RK3588 设备,应合理分配内存(建议 512M~1G),禁用无效参数(如 ZGC 下的新生代设置),并启用日志输出与堆转储,保障服务稳定可靠。一、为什么start.sh + nohup 在 systemd 下是错的systemd 对ExecStart的核心假设systemd 认为ExecStart启动的进程就是服务主进程(PID 1 of the cgroup)。它靠这个 PID 来判断:服务是否活着、该不该重启、stop 时杀谁。你这个脚本发生了什么#!/bin/shnohup
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →