服务器问题调试-线上系统退出时的一般解决思路
服务器版本: centos7.8
1. 应用内部错误
nohup java -jar /ruoyi/ruoyi-modules-systems.jar >/ruoyi/systems.log 2>&1 &
系统后台启动时, 将所有的标准输出、日志框架输出、标准错误输出都重定向到systems.log
如果是第三方应用, 查看配置的日志.
例外情况是:
JVM 崩溃(如 OutOfMemoryError, Segmentation Fault)可能不会记录到
某些严重的错误(如 OutOfMemoryError)虽然会被记录,但如果 JVM 完全崩溃或内存耗尽,可能日志写入失败或不完整。
特别是 OutOfMemoryError 时,JVM 可能没有足够内存来打印完整堆栈或写入文件。
🔹 建议:为避免这种情况,可以添加 JVM 参数,例如:
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/ruoyi/dumps
这样可以生成堆转储文件用于后续分析。
2. 人为操作
系统发生过重启
[root@abc ~]# last reboot
reboot system boot 5.10.134-18.al8. Fri Jul 11 10:18 still runningwtmp begins Fri Jan 17 11:31:37 2025
可以查看人执行的命令, 怀疑是误操作!.
命令行执行
history | grep -E "nacos|kill|java|shutdown|startup|8848" [root@abc ~]# history | grep -E "nacos|kill|java|shutdown|startup|8848"34 2025-08-01 12:25:19 java -Dserver.port=8718 -Dcsp.sentinel.dashboard.server=localhost:8718 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.8.jar > /Samunlisa-Cloud/logs/dashboard.log 2>&1 &40 2025-08-01 12:25:19 systemctl status nacos.service 41 2025-08-01 12:25:19 systemctl stop nacos.service 42 2025-08-01 12:25:19 systemctl status nacos.service 43 2025-08-01 12:25:19 systemctl start nacos.service 44 2025-08-01 12:25:19 systemctl status nacos.service
3. 系统资源不足
检查系统资源使用情况
free -m # 内存
top # CPU
df -h # 磁盘
OOM发生比较频繁
# dmesg | grep -i oom[1732858.582173] Out of memory: Killed process 2274902 (java) total-vm:3823584kB, anon-rss:703420kB, file-rss:18284kB, shmem-rss:0kB, UID:0 pgtables:2132kB oom_score_adj:0
---
[root@abc ~]# free -mtotal used free shared buff/cache available
Mem: 7589 7281 126 1 417 308
Swap: 4095 603 3492
[root@abc ~]#
可以确定是由于内存不足的问题.