특정 블록 장치의 쓰기 대역폭에 대한 시스템 전체 제한을 동적으로 설정하고 싶습니다.
이러한 장치는 연결 가능하며 자체 서비스를 통해 관리됩니다. 현재 서비스 /sys/fs/cgroup/system.slice/io.max
는 및 쓰기를 통해 제한을 설정/제거합니다 /sys/fs/cgroup/user.slice/io.max
( machines.slice
보통 우리 컴퓨터에는 없지만 해당 내용도 포함하면 좋을 것입니다). 그러나 나는 이러한 파일이 systemd에 의해 관리된다는 것을 알고 있으며 우리 서비스는 해당 파일에 직접 쓰지 말고 일부 API를 사용하여 systemd에 그렇게 하도록 지시해야 합니다.
그러나 systemd에서는 이 작업을 수행할 수 있는 방법을 찾지 못했고 이는 매우 드문 사용 사례인 것 같습니다.
제한 설정의 배경은 특정 장치 모델이 적절한 열 관리를 구현하지 않고 과열을 방지하기 위해 제한을 요구한다는 것입니다. 다른 모델에는 이러한 제한이 필요하지 않으며 해당 기능을 최대한 활용해야 합니다.