여기에 있는 구성 파일을 사용하여 /proc
디렉터리 설정을 관리할 수 있지만 해당 디렉터리에 해당하는 도구가 있습니까? I/O 스케줄러를 영구적으로 변경하고 싶습니다.sysctl
/etc/sysctl.d
/sys
bfq
다음을 포함하는 스크립트를 가리키는 서비스 파일을 생성해야 합니까?
echo bfq > /sys/block/sda/queue/scheduler
?
답변1
나는 일반적으로 sysfs 속성을 지속적으로 설정하기 위해 udev 규칙을 만듭니다. 예를 들어:
ACTION=="add|change", KERNEL=="sda", ATTR{queue/scheduler}="noop"
ACTION=="add|change", KERNEL=="sda", ATTR{queue/nr_requests}="1024"
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{device/model}=="VRAID", ATTR{queue/scheduler}="noop"
위의 코드는 명시적으로 "noop"를 스케줄러로 설정한 sda
다음 동일한 드라이브에서 1024로 설정한 nr_requests
다음 "VRAID"(SAN 볼륨)를 모델로 한 블록 장치를 필터링하여 거기에 설정합니다. 규칙 작성 방법에 대해 더 자세히 알고 싶다면여기요.
이것의 이점은 아직 존재하지 않는 장치에 대한 기본값을 설정할 수 있다는 것입니다. 이러한 규칙은 장치가 시스템에 표시될 때 호출됩니다. 예를 들어, iSCSI LUN에 로그인하면 아무것도 하지 않고도 "noop" 스케줄러로 시작됩니다.