如何调试 ls -l 速度慢?

如何调试 ls -l 速度慢?

我使用的是ubuntu 16.04,它是由我工作的大学安装的。ls工作正常,但ls -l经常挂起 4-5 秒。我发现一些消息来源说这可能是由于安装的共享等造成的,但我的计算机上没有安装文件系统(当然除了我的硬盘驱动器)。

IT人员说他们没有时间调试这个问题,所以我想知道如何找到问题所在?在不太了解ls其工作原理的情况下,我有点怀疑我的操作系统配置为ls -l需要通过 samba 与身份验证服务器通信。我怎样才能检查这个?

答案1

查看应用程序正在执行的操作的最佳方法是通过调试器运行它。对于 Linux 系统,通常是gdb
找出在调试器中查找内容的最快方法是首先使用 运行应用程序strace,它将显示正在使用的所有系统调用,并且您将能够查看是否有与系统相关的内容需要时间。
跑步:strace ls -l

调试包/bin/ls的一部分coreutils将需要您安装该包的调试符号。您将需要添加一个存储库来执行此操作,解释说在这个答案中
运行:gdb --args ls -l将使您进入调试状态。更多相关信息在这儿。

相关内容