다음 명령을 사용하여 SSD의 대기열 깊이 값을 늘리려고 합니다.
echo 64 > /sys/block/sda/device/queue_depth
하지만 다음과 같은 오류가 발생합니다.
bash: echo: write error: Invalid argument
나는 을 사용해 보았고 tee
편집자들도 를 좋아했지만 vim
여전히 nano
이 오류가 표시됩니다. 이 서버(sd[ad])에는 4개의 SSD가 있으며 이 오류는 SSD 모두에서 발생합니다.
운영체제는센트OS 7커널 버전은3.10.0-327.18.2.el7.x86_64.
답변1
SSD가 이 대기열 깊이를 지원하지 않는 것일까요?
# hdparm -I /dev/sda
/dev/sda:
ATA device, with non-removable media
Model Number: M4-CT064M4SSD2
[...]
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
1
또는 , 2
, ... 를 사용해 3
커널이 사용할 수 있는 최대 대기열 깊이를 알아보세요.
보다 높은 값을 설정할 수 없다면 1
일반적으로 커널에 NCQ가 비활성화되어 있을 수 있습니다. 또는 유사한 /proc/cmdline
지 확인하세요 libata.force=noncq
.
특히 SSD와 관련하여 일부 NCQ 관련 버그가 있었습니다. NCQ가 어떤 방식으로든 이점을 제공하는지 확인하기 위해 몇 가지 벤치마크를 수행해야 하며, 데이터 손상 없이 TRIM이 작동하는지 테스트해야 합니다(현재 커널은 일부 장치를 블랙리스트에 추가하여 이러한 문제를 해결합니다).