如何确定为什么我的登录在启动时挂起 20 秒?

如何确定为什么我的登录在启动时挂起 20 秒?

我做了一些事情(我不记得是什么),现在当我登录时,在输入我的详细信息后,我用鼠标光标看到背景,但没有任何反应。然后,大约 20 秒(可能是超时)后,硬盘继续加载,我得到了桌面。

我尝试安装bootchart2

apt-get install bootchart2 pybootchartgui

我按照他们的指示进行这里并将以下行添加到/etc/default/grub

initcall_debug printk.time=y quiet init=/sbin/bootchartd ...

当我运行 update-grub 时,收到以下错误消息:

/usr/sbin/grub-mkconfig: 12: /etc/default/grub: initcall_debug: not found

答案1

这种类型的问题可能很难调试。对于初学者来说,将其与网络或 HDD 访问问题隔离会很有帮助。

这是通过消除潜在原因直到找到罪魁祸首来完成的。

背景

在开始之前,我们将使用您可能需要安装的几个应用程序。我不会详细说明如何执行此操作,我假设您知道如何安装应用程序,并且会在需要执行特定步骤时执行此操作。

我们还将使用系统的控制台。要访问它,请执行以下操作:Ctrl++ Alt.F2您可以使用类似的键盘组合切换回图形桌面所在的主显示器。这就是这个组合键:Ctrl+ Alt+ F1

联网

使用该应用程序nethogs是一个很好的起点。我喜欢使用它,因为它会向您显示正在尝试访问网络的应用程序。也许这些应用程序之一导致了挂起。

在使用之前,nethogs我们需要确定我们的系统正在使用哪个网络接口。以下是我笔记本电脑上的内容:

$ ip -o link show | cut -d" " -f2
lo:
em1:
wlp3s0:
virbr0:
virbr0-nic:
vboxnet0:

根据经验,我知道我的无线网络是wplp3s0.以太网是em1.让我们从 WiFi 开始。

$ sudo nethogs wlp3s0

产生这种类型的输出:

NetHogs version 0.8.0

  PID USER     PROGRAM                      DEV        SENT      RECEIVED       
979   saml     ../bin/google-chrome-stable  wlp3s0     1.943       2.547 KB/sec
2376  saml     /usr/bin/pidgin              wlp3s0     0.000       0.000 KB/sec
21789 saml     ssh                          wlp3s0     0.000       0.000 KB/sec
9618  saml     ssh                          wlp3s0     0.000       0.000 KB/sec
10267 saml     ssh                          wlp3s0     0.000       0.000 KB/sec
?     root     unknown TCP                             0.000       0.000 KB/sec

  TOTAL                                                1.943       2.547 KB/sec 

一旦我们将问题隔离到几个 PID 上,这些 PID 似乎在拥有大量SENT数据但没有任何接收数据的情况下出现不平衡,我们将需要更深入地研究并尝试strace查看此网络访问的哪些方面被挂起向上。要实现此目的,您可以strace像这样使用:

$ strace -s 2000 -o somepid.log -p <PID>

从哪里<PID>标识的进程 ID 之一nethogs

磁盘输入/输出

如果我们确定问题不在于我们的网络,那么下一个要探索的地方将是查看某个进程是否在访问 HDD 时出现问题并以某种方式被阻止。

这可能比较难以调试,但您可能会使用lsofstrace、 和等工具fatrace来进一步优化您的搜索。

还要别的吗?

您可以相当快速地确定是否有可疑之处的一个地方是在您登录时禁用任何应用程序启动。要在 GNOME 下执行此操作,您可以启动此对话框:gnome-session-properties

                    对话的SS

在此对话框中,我将尝试禁用您认为可疑的所有内容或应用程序,并开始重新启动以查看问题是否消失。

相关内容