我有一个SuSe Linux服务器,由于未知的问题而被挂起,我想知道是否有一个失控的进程正在运行,每时每刻都在造成它挂起。
问题是我不知道去哪里寻找它(我不想花一整天的时间去寻找失控的东西) – 所以我的问题是这样的:有没有loginSuSelogin失控? 如果没有,有没有办法logging这样的事情?
非常感谢!
更多信息将有所帮助。 你怎么定义“挂起”? 假设您有物理访问服务器的权限,您可以检查在挂起后哪些内核消息出现在屏幕上。 服务器停止后是否需要重新启动?
您可以跟踪正常的系统日志,直到/ var / log / messages中的崩溃点。 如果您在服务器停止时有一个打开的会话,请通过运行dmesg查看驱动程序消息。
你有没有关于硬件的细节? 如果这是服务器级硬件,则可以检查系统的硬件日志,以查看是否存在坏RAM等问题。
不,那里通常没有一个机制来告诉你究竟是什么导致了“挂起”。
当你的机器运行时,使用top来查找进程吃得太多的CPU,可以free地检查内存问题(交换到磁盘可以使机器非常非常慢),并通过/ var / log skimming文件查看是否有任何外观错误。
ps aux | grep Z 如果有的话, ps aux | grep Z会过滤出僵尸进程。
在服务器冻结的情况下,我用SuSE打开了一个案例。 他们推荐了这些步骤:
最后一个在我的案例中得到了帮助 – 但是我能够通过触发某个特定的操作来解决问题,然后在冻结之前得到了一个Kernel-Debug,并且SuSE能够为我提供一个PTF(point-to-fix)内核,它解决了这个问题。
但是,你还没有描述在哪种情况下你的问题发生在半夜? 从来没有在工作?
要检查僵尸进程(不存在),我们可以使用该命令。
ps aux|awk '$8 == "Z" {print $0}'
这将只打印已经失效的进程。