ls 命令对于某些目录来说太慢

ls 命令对于某些目录来说太慢

当我对某些目录运行ls命令时,即使目录只有几个文件,也可能需要大约 1.5 秒才能完成,但对于大多数目录来说,速度非常快。对于我很长时间没有访问的目录来说,它似乎很慢,但也许这不相关。当我对同一目录重复此命令时,它总是运行得很快。这个命令很慢仅有的对于安装点上的目录/home,对于同一卷上的所有其他分区,速度很快。

例如,我的~/backups目录仅包含 3 个文件,这是 2 次运行的输出:

$ time ls ~/backups
# file list
real    0m1.635s
user    0m0.001s
sys 0m0.000s

$ time ls ~/backups
# file list
real    0m0.001s
user    0m0.001s
sys 0m0.000s

我的/home格式化为ext4fs,它是一个lvm2用 加密的分区LUKS,卷是硬盘“WDC WD10SPZX-75Z”。

fstab/home是:

/dev/mapper/home /home ext4 defaults,noatime 0 0

我的情况是否可以提高 IO 性能?

更新:这不仅仅是ls命令,而是所有的io操作,例如touch当我尝试修改我很长时间没有访问的目录时命令也很慢。

更新2:lsblk驱动器的输出sda

NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 931.5G  0 disk
├─HDD-root     254:3    0    32G  0 lvm
├─HDD-var      254:4    0   256G  0 lvm
│ └─var        254:8    0   256G  0 crypt /var
└─HDD-home     254:5    0   512G  0 lvm
  └─home       254:7    0   512G  0 crypt /home

输出findmnt

TARGET                          SOURCE               FSTYPE      OPTIONS
/                               /dev/mapper/root     ext4        rw,relatime,commit=600
├─/proc                         proc                 proc        rw,nosuid,nodev,noexec,relatime
│ └─/proc/sys/fs/binfmt_misc    binfmt_misc          binfmt_misc rw,nosuid,nodev,noexec,relatime
├─/dev                          udev                 devtmpfs    rw,nosuid,relatime,size=10240k,nr_inodes=2013980,mode=755
│ ... (some /dev related mount points)
├─/sys                          sysfs                sysfs       rw,nosuid,nodev,noexec,relatime
│ ... (a lot of /sys and cgroups mount points)
├─/run                          tmpfs                tmpfs       rw,nodev,relatime,size=1612028k,mode=755
│ └─/run/user/1000              none                 tmpfs       rw,relatime,mode=700,uid=1000
├─/home                         /dev/mapper/home     ext4        rw,noatime,commit=600
│ └─/home/projects              /dev/mapper/projects ext4        rw,relatime,discard,commit=600
├─/var                          /dev/mapper/var      ext4        rw,relatime,commit=600
└─/tmp                          tmpfs                tmpfs       rw,nosuid,nodev,noatime,size=4194304k

相关内容