我的电脑会随机死机。有时它可以正常工作几天,有时启动后就会死机。
最常见的情况是,当发生冻结时,一切都会在后台继续工作几秒钟。如果我在听音乐,它会继续播放。当我按下 ALT + SysRq + F 时,它会停止。在此期间,我执行 REISUB 救援序列,它起作用了。
在极少数情况下,系统会立即变得完全无响应。
我怎样才能开始诊断这个问题?
采取的步骤:
free
报告有足够的可用空间
答案1
我会先查看日志。可以使用 和 之类的命令来完成dmesg
。journalctl
冻结稍微延迟的事实在这里是一个很大的优势。这应该至少能让你对你的问题有一个基本的了解。
如果系统死机,很可能是由于内存问题。Linux 内置了许多内存问题故障排除命令。其中包括vmstat
、free
和stat /proc/meminfo
。最后一个命令只是从“文件”中打印出数据。它之所以有效,是因为 /proc 包含“实时文件”(无论如何,我就是这么称呼它们的)。它们通常代表现实世界中经常变化的事物或概念,因此它们不断流动。换句话说,每次调用此命令(以及所有列出的命令)时,其输出都会发生变化。
这里一些更有用的命令是基于进程的(如上面的最后一个)。由于进程使用内存,这些命令与前面提到的命令有重叠。这些命令包括top
、ps
和htop
。
top
尤其让我想起了ctrl alt delete
Windows 系统。它显示所有进程,并将占用大量内存的进程放在顶部。它可以帮助找到导致问题的程序。
最重要的是,要了解有关这些命令的详细信息,只需键入
man [command]
进入终端,其中[command]
代表命令。