저는 Yocto의 임베디드 Linux 환경에서 systemd-nspawn(systemd 버전 237)을 사용하고 있습니다.
/etc/systemd/system/systemd-nspawn\@.service.d/override.conf
파일 내용입니다
ExecStart=/usr/bin/systemd-nspawn --quiet --boot --link-journal=try-guest --machine=%i -n --property=CPUQuota=10%
컨테이너 내부에서 "sha1sum /dev/zero &" 또는 "for i in 1 2 3 4; do while : ; do : ; did & done"을 사용하여 CPU를 로드하려고 하는데 호스트의 최상위 명령에 다음이 표시됩니다. 항상 총 50%의 CPU 사용량을 차지합니다(4개의 sh 프로세스와 1개의 sha1sum 프로세스, sha1sum 프로세스만 시작되면 각 프로세스는 단독으로 50%(10%가 아닌 경우)를 사용합니다)
이 50% 제한이 다른 설정에서 비롯된 것인지 이해할 수 없습니다. CPU 할당량이 작동하지 않는 이유
답변1
~부터c그룹 v2이제 권장됩니다. cgroup v2를 사용하여 동일한 명령을 시도해 보는 것이 좋습니다. 이렇게 하려면 다음을 추가하세요.systemd.unified_cgroup_hierarchy=1Linux를 입력하고 실행 GRUB_CMDLINE_LINUX_DEFAULT
한 후 다시 시작하세요. cgroup v2가 더 나은 CPU 제어 기능을 제공하기를 바랍니다./etc/default/grub
update-grub