![当cgroup开启时,如何将进程的sched方法设置为fifo和优先级?](https://linux22.com/image/70618/%E5%BD%93cgroup%E5%BC%80%E5%90%AF%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E5%B0%86%E8%BF%9B%E7%A8%8B%E7%9A%84sched%E6%96%B9%E6%B3%95%E8%AE%BE%E7%BD%AE%E4%B8%BAfifo%E5%92%8C%E4%BC%98%E5%85%88%E7%BA%A7%EF%BC%9F.png)
我使用的是 CentOS 6.6,我想将 kvm 虚拟机的 sched 方法设置为 FIFO,优先级为 1。首先,我使用 chrt 并收到错误:
chrt(): "failed to set pid XXX's policy"
我在这里找到: chrt(): 在一台机器上“无法设置 pid XXX 的策略”,但在其他机器上则不然 并使用
sudo service cgconfig stop
然后我可以使用 chrt 来设置它。
这里,https://libvirt.org/formatdomain.html#elementsCPUTuning,cpuune的vcpusched可以做到。但我的 libvirtd 版本是 0.10.2,并且从 1.2.13 开始提供 vcpusched。由于 libvirtd 可以提供此功能,因此我想我也可以手动执行此操作。
但在cgroup文件系统中,cpu | cpuset subdir, libvirt/qemu/$(domain)/vcpu0,我找不到调度策略。
那么,如果不停止cgroups来设置进程调度方法和优先级怎么办?