Tag Archives: cgroup

使用 systemd 限制系统资源的使用

By | 2018-12-10

简单介绍 在基于 Linux-3.x 内核版本的很多发行版都提供了 Systemd 来管理系统和服务. 同时也将 cgroup 功能加到了 slice, scope 和 service 三个单元中, 详见 sec-Default_Cgroup_Hierarchies. 基于这些特性我们可以很方便的通过 systemd 来限制服务或者进程对系统资源的使用, 这在单主机多服务的场景下会很有用. 下面则以 MySQL 服务为例介绍如何使用 systemd 限制资源的使用, 其它服务的限制和此等同. 示例使用 以 Centos7 系统为例, 从 redhat-resource-control 的文档来看, 官方建议通过 service 来实现资源的限制, 所以这里我们增加可以带端口参数(如果单台主机有多个 MySQL 实例的话)启动的 mysql 服务: # cat /usr/lib/systemd/system/mysql@.service [Unit] Description=MySQL Server node%i [Service] Type=forking Environment=”PORT_ARGS=%I” PermissionsStartOnly=true ExecStart=/usr/local/mysqlnode/bin/node ${PORT_ARGS} start… Read More »