# zcat /proc/config.gz | grep CGROUP
CONFIG_CGROUPS=y
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUP_PIDS=y
# CONFIG_CGROUP_RDMA is not set
# CONFIG_CGROUP_FREEZER is not set
CONFIG_CGROUP_HUGETLB=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_SOCK_CGROUP_DATA is not set
# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set
# CONFIG_CGROUP_NET_PRIO is not set
# CONFIG_CGROUP_NET_CLASSID is not set
更新:重新阅读您的问题后,我意识到我回答的问题略有不同。您想知道服务是否正在运行,我最初回答了如何判断是否安装了软件包。要回答您的实际问题,这取决于您的初始化系统。
systemd - 基本命令是
systemctl
,它将列出所有服务及其状态,因此您可以手动手动浏览它或通过grep
命令对其进行管道传输,如下所示systemctl | grep -e cgmanager -e cgproxy -e cgroupfs-mount
:或者,正如用户 muru 在评论中建议的那样,简单地systemctl status 'cg*'
.sysVinit - 基本命令是
service --status-all
,grep 命令是service --status-all 2>&1 | grep -e cgmanager -e cgproxy -e cgroupfs-mount
。请注意,在这种情况下,正在运行的服务用[+]
前缀符号表示。另请注意,要使 grep 工作,2>&1
必须为service
命令进行重定向。原始答案:
也许最简单的事情就是尝试
man cgroups
。如果这会打开一个文档页面,那么您的主机已经安装了该软件包。然而,有些安装是“吝啬的”并且不安装man
页面。您可以尝试
cgm
看看是否会产生输出。大多数安装cgroups
将包含该命令,但不一定。您可以查找主机发行版的软件包列表。在 debian 衍生产品上,会是.,但有时
dpkg -l |grep cgroup
系统会限制对.root
sudo
dpkg
会有很多其他的方法。
您可以使用以下命令检查内核配置中启用了哪些 cgroup 功能:
(注:为了
/proc/config.gz
显示需要设置)