我有一台电脑老是无法连接,重启后问题就解决了。它的负载有点重(CPU 和内存使用率高),但总体上看起来还算稳定。
有什么好方法可以确定它为什么死机?我需要在计算机处于负载/生产状态时执行此操作。
例如:
- 在哪些日志中查找什么?(常见问题的提示?有没有好的日志解析器可以按硬件组件或常见线程进行排序?如何找到重启的时间戳/日志条目?按错误级别排序?(严重、警告等))
- 如何从远程确定 RAM 是否良好?(memtest,可以与系统的其他部分一起运行,类似于 Windows 版 Hgi Design 的 memtest)
- 如何确定硬盘上是否有坏扇区?(如何在操作系统级别查找读/写错误?智能信息充其量是不准确的,并且不适合确定问题的严重程度。 - 寻找类似于 Windows 事件查看器“磁盘错误”类别的内容)
- 如何在日志中找到重启之前的最后一个错误(解析日志的好方法是什么) - bulleric 部分回答了这个问题,但想要一个如何找到重启条目/时间戳的具体例子:)
- 如何从日志中确定(任何重启后)导致它变得无响应的原因(例如,查找耗尽的 RAM 迹象、网络是否断开、内核是否崩溃) - 在 Windows 中,意外重启事件被记录为“关键”,并且很有可能在此事件发生之前出现有用的日志条目 - 在 ubuntu 中搜索什么才能找到它?
*编辑:
根据答案,我想我应该澄清一些:
由于它是一台生产服务器,因此负载很高,而不是因为某个进程正在泄漏内存,或者在某个无限循环中消耗 CPU。这是正常的,并且会导致大量的日志,逐行读取是不切实际的。我熟悉 htop、cacti、nagios、munin - 但这些都不能解决我的问题,因为它们只显示系统负载很重(我已经知道了)。
答案1
你必须寻找问题的根源
在什么日志中寻找什么?
首先打开 top 或 htop(如果已安装)
并搜索超载任务。许多活动存储、进程负载……
如果您发现任何内容,请查看日志
tail -f /var/log/syslog
tail -f /var/log/dmesg
并查找最终以您在 top 或 htop 中找到的超载任务命名的错误或警告。/var/log/
中有许多程序的日志文件。
如何从远程判断 RAM 是否良好?
对于这个问题,你可以使用像 Munin 这样的基于网络的分析工具
http://munin-monitoring.org/
编写一个小型 bash 脚本来测试 RAM,当遇到问题时发送邮件。或者使用
nagios --> 它是一个监控工具,当 RAM 出现问题时您会收到一封邮件。
如何判断硬盘上是否有坏道?
找出你的主硬盘或硬盘,你将测试
fdisk -l
并使用 fsck 检查硬盘(文件系统检查:fsck 检查并修复 Linux 文件系统)
如何在日志中找到重启之前的最后一个错误(解析日志的好方法是什么)
您可以使用带有 lines 选项的 tail 命令
tail -200 /var/log/syslog
tail -200 /var/log/dmesg
搜索运行级别更改或关闭序列 init 6 是重新启动运行级别,
它可以在您使用分页器时提供帮助 (less)
tail -200 /var/log/syslog |less
我希望我能帮上一点忙:)
祝你成功
答案2
我建议安装顶部它能很好地概述您的系统。您也可以只使用top
。如果负载非常高且系统停止响应,请尝试ps aux
使用 终止不需要的可疑进程或停止服务sudo service $service stop
。
cd /var/log; ls -lrt
为您提供最新的更改日志,检查这些ssh server free -m
为您提供有关内存和交换使用情况的信息- 坏扇区:用于
smartctl
检查磁盘 - 我习惯
less
查看日志并使用键盘b
滚动f
浏览。键入/
可让您搜索文本。您还可以grep
在文件上使用来查找特定日期或文本。
在 ubuntu 系统上,您可能希望将您的用户添加到组中adm
,这样您就不必使用它sudo
来读取某些文件。
另一个好主意是安装logcheck
并设置它,以便向您发送电子邮件,告知您发生了什么情况。如果您要管理多台计算机,您可能还想安装一个监控系统,以便xymon
识别异常情况。
祝你修复系统顺利!
答案3
我会用不同的方法。打开几个会话 - 一个使用tail -f /var/log/syslog
,第二个使用tail -f /var/log/kern.log
,第三个用于监控top
,第四个用于运行类似 的实用程序stress
。现在,模拟加载的系统并查看会发生什么。我建议从仅 CPU 负载开始,然后从那里开始。此外,在测试期间 ping 机器并监控其响应情况。
请注意 - 如果您耗尽 RAM 并点击交换(除非在 SSD 上),机器将看起来与您描述的完全一样。祝您好运!
答案4
您是否考虑过与硬件相关的问题? 我将按顺序执行以下操作:
- 检查网络防火墙/配置问题。
- 检查硬件故障 - 尝试插入现成的 NIC 并使用它来代替正在使用的 NIC。
- 如果您身边有类似或相同的机器,请让机器离线并测试硬件。同时查看替换品上是否有相同的问题 - 确定问题是否与硬件/软件相关的好方法。
- 如果您没有多余的硬件,那么现在是时候为其制定商业案例了。
祝你好运!