当前位置: 首页 > news >正文

全面检测Linux系统健康情况

测试Linux系统健康是一个系统性的工作,需要从硬件、系统资源、性能和服务等多个维度进行检查。下面提供一个从快速一键脚本深度手动检查的完整指南。


一、 快速健康检查脚本

你可以将以下命令保存为一个脚本(如 health_check.sh),并定期运行。

#!/bin/bashecho "========== Linux System Health Check =========="
echo "Run Time: $(date)"
echo "==============================================="# 1. 系统基本信息
echo -e "\n1. System Overview"
echo "Hostname: $(hostname)"
echo "Uptime: $(uptime)"
echo "Kernel: $(uname -r)"
echo "OS: $(cat /etc/os-release | grep PRETTY_NAME | cut -d= -f2 | tr -d '\"')"# 2. CPU 健康
echo -e "\n2. CPU Health"
echo "Load Average: $(uptime | awk -F'load average:' '{print $2}')"
echo "CPU Cores: $(nproc)"
echo "Top 5 CPU Processes:"
ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head -6# 3. 内存健康
echo -e "\n3. Memory Health"
free -h
echo -e "\nTop 5 Memory Processes:"
ps -eo pid,ppid,cmd,%mem --sort=-%mem | head -6# 4. 磁盘健康
echo -e "\n4. Disk Health"
echo "Disk Usage:"
df -h | grep -v tmpfs
echo -e "\nInode Usage:"
df -i | grep -v tmpfs# 5. 磁盘I/O (需要 sysstat)
echo -e "\n5. Disk I/O"
if command -v iostat &> /dev/null; theniostat -x 1 1 | tail -n +4
elseecho "iostat not installed. Install with: sudo apt-get install sysstat"
fi# 6. 网络连接
echo -e "\n6. Network Connections"
echo "ESTABLISHED Connections: $(ss -tun state established | wc -l)"
echo "LISTEN Ports:"
ss -tunlp | head -10# 7. 登录信息
echo -e "\n7. User Login"
echo "Logged in users:"
who
echo -e "\nRecent logins:"
last -n 5# 8. 系统日志检查 (最近错误)
echo -e "\n8. Recent System Errors"
if [ -f /var/log/syslog ]; thenjournalctl --since "1 hour ago" -p err..alert | tail -5
elif [ -f /var/log/messages ]; thengrep -i error /var/log/messages | tail -5
fiecho -e "\n========== Check Completed =========="

运行方式:

chmod +x health_check.sh
./health_check.sh

二、 深度手动检查项目

对于更彻底的检查,你需要手动执行以下步骤。

1. 硬件健康检查
  • 内存错误:

    # 检查ECC内存错误 (需要edac-utils)
    sudo apt-get install edac-utils
    edac-util -s
    # 或者查看内核消息
    dmesg | grep -i "ecc\|memory error"
  • 硬盘SMART状态:

    # 安装smartmontools
    sudo apt-get install smartmontools
    # 检查硬盘健康
    sudo smartctl -a /dev/sda
    # 重点关注:RAW_READ_ERROR_RATE, Reallocated_Sector_Ct, Current_Pending_Sector
  • CPU/Motherboard:

    # 检查CPU错误
    cat /proc/cpuinfo | grep -i "model name\|cpu mhz\|cache"
    # 检查硬件错误
    dmesg | grep -i "hardware error"
    # 检查机器检查异常
    mcelog --client
2. 文件系统完整性
  • 检查文件系统错误:

    # 检查根文件系统 (需要卸载,通常在单用户模式或救援模式下进行)
    sudo fsck -f /dev/sda1# 检查ext4文件系统
    sudo tune2fs -l /dev/sda1 | grep -i "last checked\|mount count"
3. 系统服务健康
  • 检查失败的系统服务:

    systemctl --failed
    systemctl list-units --state=failed
  • 检查关键服务状态:

    systemctl status sshd
    systemctl status nginx
    systemctl status mysql
    # 或者检查所有运行中的服务
    systemctl list-units --type=service --state=running
4. 安全健康检查
  • 检查未授权的SUID文件:

    find / -perm -4000 -type f 2>/dev/null
  • 检查root权限的进程:

    ps -ef | grep "^root" | less
  • 检查开放端口和服务:

    netstat -tulpn
    # 或者使用ss
    ss -tulpn
5. 性能基准测试
  • CPU压力测试:

    # 安装stress工具
    sudo apt-get install stress
    # 测试CPU (4个核心,持续60秒)
    stress --cpu 4 --timeout 60s
    # 同时用top或htop观察CPU使用率
  • 内存测试:

    # 使用memtester (需要安装)
    sudo apt-get install memtester
    # 测试1GB内存
    memtester 1G 1
  • 磁盘I/O性能测试:

    # 使用hdparm测试读取速度
    sudo hdparm -Tt /dev/sda# 使用dd测试写入速度 (谨慎使用!)
    dd if=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=direct
6. 网络健康检查
  • 网络连通性测试:

    # 测试到网关的连通性
    ping -c 4 $(ip route show default | awk '/default/ {print $3}')# 测试DNS解析
    nslookup google.com
    dig google.com# 测试端口连通性
    telnet target_host 22
    # 或者使用nc
    nc -zv target_host 22
  • 网络带宽测试:

    # 安装iperf3
    sudo apt-get install iperf3
    # 在一台机器作为服务器:iperf3 -s
    # 在另一台测试:iperf3 -c server_ip

三、 自动化监控建议

对于生产环境,建议设置自动化监控:

  1. 使用Prometheus + Grafana:监控系统指标

  2. 使用Zabbix或Nagios:监控服务状态和设置告警

  3. 使用logwatch或logcheck:自动化日志分析

  4. 设置定期cron任务运行健康检查脚本

  5. 配置logrotate:防止日志文件占满磁盘

四、 健康检查清单总结

  • ✅ CPU:负载平均 < CPU核心数,无持续100%使用

  • ✅ 内存:可用内存 > 10%,swap使用率低

  • ✅ 磁盘:使用率 < 85%,inode充足,无磁盘错误

  • ✅ 网络:关键端口可访问,无大量错误包

  • ✅ 服务:关键服务运行正常,无失败服务

  • ✅ 日志:无重复错误信息,无安全警告

  • ✅ 安全:无未授权访问,系统及时更新

  • ✅ 备份:定期备份验证正常

通过这套完整的检查流程,你可以全面了解Linux系统的健康状况,及时发现并预防潜在问题。

http://www.dtcms.com/a/450472.html

相关文章:

  • 成都中小企业网站建设北京朝阳区租房价格
  • 装饰公司营销网站模板北京海淀建设中路哪打疫苗
  • 《网络爬虫技术规范与应用指南系列》(xc—5)完
  • seo网站外链专发制作网络网站
  • 河南住房和城乡建设厅网站首页海飞丝网站建设中面临的技术问题_并提出可行的技术解决方案
  • Product Hunt 每日热榜 | 2025-10-06
  • 在电脑新建网站站点wordpress菜单调用
  • 广州个人网站制作公司男生用的浏览器
  • 网站二级页面设计要求怎么做网站代销
  • 关于举办第十九届iCAN大学生创新创业大赛创业赛道复赛的通知
  • 什么是网站关键词创意餐厅网站建设文案书
  • 增量同步 + 双库写入 + 时间游标更新
  • python爬虫爬小说来做网站wordpress分类设置主题
  • 太原网站定制python django做的网站
  • 普法网站建设方案网站开发谢辞
  • wordpress上传doc文件大小昆明二级站seo整站优化排名
  • 力扣136.只出现一次的数字
  • 网站的分页效果怎么做网站备案有什么作用
  • 怎么做自己的网站徐州建设局官网
  • 记事本代码做网站科学小制作
  • 丹东网站网站建设怎么做相册的网站
  • 湖州做网站公司有那几家广州网站制作系统
  • html判断域名 然后再跳转到网站推广策略英文
  • 4.12 环境光照
  • mcp sse 直接调用mcp方法
  • 11、Linux 密码管理
  • dedecms网站地图路径修改生成后 网站地图前台路径不变爬虫怎么看网站开发者模式
  • 思科交换机VLAN超简单配置(草稿)
  • 上海兼职网站制作seo网站优化外包
  • lol视频网站模板网站开发公司安心加盟