检查系统日志
journalctl -xb # 查看最近的系统日志
dmesg | tail -50 # 查看内核日志
cat /var/log/syslog | grep -i error # 查看错误日志
检查崩溃转储
cat /var/crash/* # 查看崩溃转储文件
检查硬件状态
sensors # 查看温度
free -h # 查看内存使用
smartctl -a /dev/sda # 检查硬盘健康状态
更新内核到最新稳定版本
sudo apt update && sudo apt upgrade # Debian/Ubuntu
sudo yum update # RHEL/CentOS
检查并修复文件系统
fsck /dev/sda1
禁用可能导致冲突的内核模块
lsmod # 列出加载的模块
modprobe -r 问题模块 # 移除问题模块
优化内存使用
echo 1 > /proc/sys/vm/drop_caches # 清理缓存
调整OOM Killer行为
echo 100 > /proc/sys/vm/overcommit_memory
增加交换空间
sudo fallocate -l 2G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
检查服务状态
systemctl status 服务名
查看服务日志
journalctl -u 服务名
重新配置服务
sudo systemctl daemon-reload
sudo systemctl restart 服务名
禁用看门狗(临时)
echo 1 > /proc/sys/kernel/panic
检查电源管理设置
cat /proc/acpi/button/lid/*/state
禁用自动更新重启
sudo systemctl disable --now unattended-upgrades # Ubuntu
定期维护
监控系统
# 安装监控工具
sudo apt install sysstat htop iotop
配置日志轮转
sudo nano /etc/logrotate.conf
设置系统备份
# 使用rsync进行备份
rsync -avz /重要目录 备份位置
配置内核参数
# 编辑/etc/sysctl.conf添加以下内容
kernel.panic = 10 # 10秒后重启
kernel.sysrq = 1 # 启用SysRq功能
通过以上方法和工具,可以有效诊断和解决Linux系统中的崩溃和自动重启问题,提高系统稳定性。