当我对某些目录运行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
格式化为ext4
fs,它是一个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