/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

teevim같은 편집기를 사용해 보았지만 nano여전히 이 오류가 표시됩니다. 이 서버에는 4개의 SSD(sd[ad])가 있으며 이 오류는 모든 SSD에서 발생합니다.

운영 체제는운영체제 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이 데이터 손상 없이 작동할 수 있는지 테스트해야 합니다(현재 커널은 이러한 질문에 대해 특정 장치를 블랙리스트에 추가하여 이 문제를 해결합니다).

관련 정보