如果我显示 clamav systemd 服务的设置,它们不会显示 CPUQuota 设置。它们仅显示 CPUQuotaPerSecUSec 设置。
._. systemctl show clamav* --all | grep CPUQuota
CPUQuotaPerSecUSec=infinity
CPUQuotaPeriodUSec=infinity
CPUQuotaPerSecUSec=infinity
CPUQuotaPeriodUSec=infinity
(--all
显示可能在输出中遗漏的空设置)。
然而:
systemctl show clamav* --property=CPUQuota
...产生空白输出。
事实上,没有任何 systemd 服务设置了 CPUQuota,甚至在其列表中根本没有出现,您可以运行以下命令看到:
._. for u in $(systemctl list-units --type service --plain --quiet | awk '{ print $1 }'); do systemctl show "$u" | grep CPUQ; done
CPUQuotaPerSecUSec=infinity
CPUQuotaPeriodUSec=infinity
CPUQuotaPerSecUSec=infinity
...
有关控制 systemd 进程的建议建议设置 CPUQuota 设置。此设置确实列在 systemd.resource-control 手册页中。手册页中说CPUQuotaPerSecUSec
并CPUQuotaPerPeriodUSec
设置了 CPUQuota 的参数。
但为什么即使有某些默认值,服务列表中似乎也没有设置它?设置它的选项是否已被弃用?
答案1
CPUQuota 在命令中列出systemctl show
为CPUQuotaPerSecUSec
(USec
表示微秒,但以毫秒显示)。10%显示为100毫秒。