/sys/block/sdX/device/queue_length 파일을 편집할 수 없습니다.

/sys/block/sdX/device/queue_length 파일을 편집할 수 없습니다.

다음 명령을 사용하여 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이 작동하는지 테스트해야 합니다(현재 커널은 일부 장치를 블랙리스트에 추가하여 이러한 문제를 해결합니다).

관련 정보