AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 402407
Accepted
Alex Flo
Alex Flo
Asked: 2012-06-27 08:09:13 +0800 CST2012-06-27 08:09:13 +0800 CST 2012-06-27 08:09:13 +0800 CST

Debian Linux 服务器在一周左右后挂起

  • 772

我有 2 个 Debian Linux 6.0.4 服务器有一个奇怪的行为:5-7-10 天后它们挂起。我的意思是服务器需要重新启动,在此之前 ping 不会回答。

几个月来我一直在努力解决这个问题,这里有一些想法/我尝试过但无法解决问题。

  • 我更改了服务器上的 RAM。作为两台不同的服务器,我怀疑它可能与硬件有关,因为第三台相同的服务器不会有这个问题。
  • 我记录了服务器负载,当它崩溃时负载很好(非常低)
  • 我在服务器日志中找不到任何内容,在服务器冻结之前日志都很好。
  • 不幸的是,我无权访问控制台。

虽然我有多年的管理经验,但我从未遇到过这样的问题,现在我不知道还能去哪里调查。

如果您知道我可以尝试什么来解决问题,请与我分享:-)

debian hangs
  • 3 3 个回答
  • 3031 Views

3 个回答

  • Voted
  1. snostorm
    2012-06-27T08:43:03+08:002012-06-27T08:43:03+08:00

    服务器真的挂了还是只是ping不通?

    安装一个监控工具,例如 Munin(或类似工具),它不仅会向您显示 CPU 负载的图表,还会显示内存统计信息、磁盘使用情况以及各种其他零碎信息——您可以将其配置为监控很多方面。下次服务器挂起时,检查图表是否有任何异常迹象。您将学习如何查看正常图形,因此任何不寻常的东西都是可疑的(尽管不一定是错误的)。

    您确定要检查所有服务器日志吗?即你有网络/邮件/ftp/dns/其他服务器吗?检查所有这些日志!不要忘记在故障排除时启用调试日志记录。

    如果服务器每周左右崩溃,它可能是经常发生的事情,即 cron 作业或日志轮换,诸如此类。

    确保您收到所有系统电子邮件(root 别名)。您甚至可以安装 OSSEC,这是一个很好的工具,可以在出现问题时关注日志并接收电子邮件。但是这个 OSSEC 工具只是一种查看日志的自动化方式,所以没什么神奇的。

    网络问题?dhcp 租约到期?

    • 1
  2. aseq
    2012-06-27T11:13:58+08:002012-06-27T11:13:58+08:00

    请显示 /var/log/messages 和/或 /var/log/kern.log 的相关内容,内核可能记录了一些崩溃报告或其他可以说明问题的内容。当我遇到这种无法解释的挂起时,这是由于驱动程序错误造成的,因为日志记录不是很详细,所以我无法找到确切的驱动程序。

    在我的例子中,存在软锁定(内核:[XXXX] BUG:软锁定 - CPU#X)。经过一些研究,我发现了http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=556030,最后一条评论提供了一些见解和一种使日志记录更加冗长的方法。这是一个简单的内核修改,但如果您不喜欢编译自己的内核,那么这可能不是最好的选择。

    只需更新内核或安装更新版本并重新启动即可解决问题。

    报价:

    我们广泛研究了这个问题。

    TLB flush softlockup 只是死锁的结果。

    背景:TLB 刷新由一个 CPU 发布到多个其他 CPU,使用处理器间中断来传播分页更改。然后发出 CPU 循环,直到所有处理器确认更改。如果这样的处理器在自旋锁上死锁,这永远不会发生,那么软锁就会触发。死锁出现在自旋锁上,这个锁有时可能被用户代码持有(通过模块的 /proc 或 /sys 接口)。

    识别根本原因(即哪个驱动程序导致问题)的唯一方法是转储软锁定代码中的所有 CPU 堆栈。

    一种方法是修改内核并添加

                arch_trigger_all_cpu_backtrace() 
    

    在里面

                kernel/softlockup.c:softlockup_tick() 
    

    功能。

    这是基于 NMI IPI,它确保所有堆栈都被转储,即使在死锁的情况下(也不要期望不可能发生)。

    您应该很容易找到有问题的驱动程序并发布相关错误。

    • 1
  3. Best Answer
    Alex Flo
    2012-07-10T00:48:33+08:002012-07-10T00:48:33+08:00

    显然,问题与导致服务器挂起的某些 python 脚本有关。我不明白他们为什么挂起服务器,但至少他们不再挂起它了。

    • 0

相关问题

  • 关闭 FTP

  • 如何在同一台电脑上从 putty 连接 debian vmware

  • debian- 文件到包的映射

  • Debian Ubuntu 网络管理器错误 [关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve