일부 디렉터리에 대해 명령을 실행하면 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
내 파일 은 fs /home
로 포맷되어 있고 암호화된 파티션 이며 볼륨은 하드 디스크 "WDC WD10SPZX-75Z"입니다.ext4
lvm2
LUKS
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