![LXC CPU.shares가 작동하지 않습니다](https://linux55.com/image/96026/LXC%20CPU.shares%EA%B0%80%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
어제부터 LXC 컨테이너 문제와 컨테이너당 CPU 리소스 제한 문제로 어려움을 겪고 있습니다. 내 경우에는 다음과 같은 명령이 lxc-cgroup -n srv50 cpu.shares 100
결과를 가져오지 않습니다. 컨테이너는 여전히 CPU를 동일하게 사용합니다.
저는 Centos 7과 LXC 1.0.8을 사용하고 있습니다. 내가 확인한 모든 기계는 동일한 효과를 가졌습니다. 설정은 cpu.shares
아무 것도 하지 않았습니다.
이것은 내 2코어 VM의 systemd-cgtop 화면입니다.
Path Tasks %CPU Memory Input/s Output/s
/ 178 199.7 360.8M - -
/lxc - 198.0 16.8M - -
/lxc/srv51 7 99.8 8.4M - -
/lxc/srv50 7 98.2 8.4M - -
/system.slice/NetworkManager.service 2 - - - -
/system.slice/auditd.service 1 - - - -
컨테이너 는 100으로 srv50
설정 되고 50으로 설정됩니다. 두 컨테이너 모두 command 를 실행합니다 . 한 컨테이너는 66%를 차지하고 다른 컨테이너는 133%(또는 이와 유사한 수준)를 차지할 것으로 예상했지만 둘 다 100%를 사용하고 있었습니다.cpu.shares
srv51
dd if=/dev/urandom | bzip2 -9 >> /dev/null
팁. 어떤 컨테이너가 가장 많은 CPU를 사용하고 있는지 찾으려고 할 때 htop
도구에서 모든 컨테이너가 동일한 cgroup을 가지고 있음을 발견했습니다. :name=systemd:/user.slice/user-0.slice/session-1.scope?
- 이것이 정확한지는 확실하지 않습니다. - 방금 이것을 발견했습니다.
메모리 제한은 작동하지만 CPU는 작동하지 않습니다.
방금 cgroup으로 테스트를 마쳤고 어떤 프로세스도 설정할 수 없었기 때문에 cpu.share
(그룹으로 이동하여) 일관성이 있습니다. 일부 커널 스위치가 누락된 것 같습니다.
2: 내 예에는 버그가 있습니다. 2코어 머신에서 로드 차이를 확인하려면 각 컨테이너에 100%로 실행되는 프로세스가 2개 이상 있어야 합니다. 어쨌든 이것은 문제가 되지 않습니다.
답변1
예, 이 경우 문제는 이 기능을 테스트하는 것입니다. 예상대로 작동합니다. 코어가 2개인 다른 클라우드 VM에서 내가 겪은 유일한 문제입니다. 필요하지 않기 때문에 더 이상 생각하지 않습니다. :) 건배!