主目录上的 ls 非常慢

主目录上的 ls 非常慢

不久前,我意外地在主目录中创建了数十万个文件,随后我将其删除。

但从那时起,在我的主目录中运行 ls 就变得非常慢(打印需要几十秒)。在其他目录中运行也很慢(打印需要 1 秒),并且 tab 补全在任何地方都很慢(也是几十秒)。

可能存在什么问题?

编辑:正如评论中所建议的,

查找 ~/ -maxdepth 1 | wc

为 67,df -h 的输出为

/dev/sda2        74G  8.4G   62G  12% / 
none            4.0K     0  4.0K   0% /sys/fs/cgroup 
udev            3.9G   12K  3.9G   1% /dev 
tmpfs           795M  1.1M  794M   1% /run 
none            5.0M     0  5.0M   0% /run/lock 
none            3.9G  4.9M  3.9G   1% /run/shm 
none            100M   52K  100M   1% /run/user
/dev/sda1       825G  408G  376G  53% /home
AFS             8.6G     0  8.6G   0% /afs
/dev/sdb2       1.9T  584G  1.3T  32% /media/sj1/ResearchData1 
/dev/sdc1       932G  409G  524G  44% /media/sj1/ResearchData2 

答案1

我遇到了同样的问题,原因是指向网络驱动器文件夹的链接不再起作用。

要了解您的情况是否如此,请获取以下链接列表:

find . -maxdepth 1 -type l -ls

尝试ls每一个,损坏的那个也会锁定ls,因此按 Ctrl-C 中止它。

将其移除后,rm所有内容立即开始加载。

答案2

ls -1 -f /directory 如果目录中有大量文件,请尝试一下。

  • -1每行列出一个文件名。
  • -f禁用排序。

答案3

创建数十万个文件可能会创建大量文件系统扩展,这些扩展不一定会在文件删除时被删除。使用以下命令获取“碎片分数”:

sudo e4defrag -c ~/

如果分数很差(比如说高于 50),请使用不带“-c”标志的相同命令来对文件系统进行碎片整理。

答案4

大多数文件系统在删除后不会压缩目录。对我有用的是这个问题的答案较旧的问题

  • 新建一个文件夹
  • 将现有文件和文件夹复制到新文件夹
  • 删除慢速文件夹
  • 将新文件夹名称重命名为旧文件夹名称

相关内容