目录
- 前言
- 1. Linux
- 2. Window
前言
对于服务器异常重启的问题,需要定位原因并解决,下次就不会重启
1. Linux
要查看Linux服务器自动重启的原因,可以执行以下步骤:
- 检查系统日志:Linux系统通常会记录系统事件和错误信息到日志文件中
查看这些日志来找出服务器自动重启的原因
常见的日志文件包括 /var/log/messages
、/var/log/syslog
或 /var/log/dmesg
tail -n 100 /var/log/messages
tail -n 100 /var/log/syslog
tail -n 100 /var/log/dmesg
- 查看重启时间:检查服务器的重启时间,以便定位在何时发生了自动重启
last reboot
截图如下:
- 检查硬件问题:服务器自动重启有时可能是由硬件故障引起的
检查系统的硬件健康状况,包括CPU、内存、硬盘等
sudo dmidecode --type memory
sudo smartctl -a /dev/sda # 根据你的硬盘设备更改路径
- 查看系统负载:高系统负载可能会导致服务器自动重启。检查系统负载和资源使用情况
uptime
top
截图如下:
- 检查计划任务:有时,定时任务可能会导致服务器重启
检查系统中的定时任务。
crontab -l
截图如下:
- 查看系统设置:检查系统配置文件,例如
/etc/sysctl.conf
、/etc/security/limits.conf
等,看是否有设置可能导致系统自动重启
cat /etc/sysctl.conf
cat /etc/security/limits.conf
2. Window
如何查看Window异常重启
打开事件查看器:按下 Windows + R,输入 eventvwr.msc,然后按 Enter 键
在事件查看器中,展开“Windows 日志”并选择“系统”日志
命令行:
- 打开命令提示符:按下 Windows + R,输入 cmd,然后按 Enter 键。
在命令提示符中,输入以下命令查看系统重启历史记录:
systeminfo | find "System Boot Time"
这个什么反应都没有
使用 PowerShell:
Get-WinEvent -LogName System | Where-Object { $_.ID -eq 1074 -or $_.ID -eq 6008 } | Format-List -Property TimeCreated, Message
截图如下:
对于这个命令的解释如下:
-
Get-WinEvent -LogName System
: 这部分是使用 Get-WinEvent cmdlet 获取系统事件日志中的事件
-LogName System
参数指定了要获取的日志名称为“System”
,这将返回 System 日志中的所有事件 -
Where-Object { $_.ID -eq 1074 -or $_.ID -eq 6008 }
: 在获取的事件中,Where-Object cmdlet 用于过滤出符合条件的事件
~在这个命令中,通过$_
来引用每个事件对象,$_.ID
表示事件的 ID
~条件$_.ID -eq 1074 -or $_.ID -eq 6008
表示筛选出事件 ID 为 1074 或 6008 的事件 -
Format-List -Property TimeCreated, Message
: 最后,使用 Format-List cmdlet 格式化输出
-Property TimeCreated, Message
参数指定了要显示的属性,其中 TimeCreated 是事件创建时间,Message 是事件消息
这将以列表的形式输出符合条件的事件的创建时间和消息
因此,整个命令的作用是获取系统事件日志中的特定事件 (ID 为 1074 或 6008),并显示这些事件的创建时间和消息
命令行和 PowerShell 则提供了更灵活的选项和过滤器,以便根据特定的事件 ID 查找系统重启事件
对于Window查找原因比较繁琐:
-
检查事件查看器:Windows系统通常会将系统事件记录在事件查看器中。打开事件查看器并查看系统日志,特别关注系统崩溃或错误事件
-
查看蓝屏错误信息:如果系统在崩溃时显示了蓝屏错误(蓝屏死机),请注意其中的错误代码或消息。这些信息通常可以提供有关问题的线索
-
启用自动重启时的错误信息:Windows默认情况下在系统崩溃后会自动重启,这可能会使得错误信息很快消失。你可以禁用自动重启以便在发生崩溃时能够看到完整的错误信息
打开“控制面板” -> “系统和安全” -> “系统” -> “高级系统设置”
在“高级”选项卡下,点击“设置”(在“启动和故障恢复”部分)
在“系统故障”部分,取消选中“自动重新启动”复选框
确认更改后,单击“确定”退出
-
检查驱动程序和更新:有时驱动程序问题会导致系统崩溃和重启。确保你的系统驱动程序是最新的,并检查是否有任何问题驱动程序
-
检查系统健康状况:使用Windows自带的工具(如Windows内存诊断工具、磁盘检查工具等)来检查系统硬件健康状况
-
查看系统资源使用情况:使用任务管理器来监视系统资源的使用情况,包括CPU、内存、磁盘和网络。异常的资源使用可能是系统崩溃的原因之一
-
考虑安全软件和第三方应用:有时安全软件或其他第三方应用可能会与系统冲突,导致系统崩溃。尝试暂时禁用或卸载最近安装的应用程序,然后观察系统是否仍然出现问题