systemd的命令systemctl set-property testSpeed CPUQuota=10%
总结
systemd 的资源限制一般要写到unit文件中,但是,现在测试发现会有 被值被覆盖的现象;经过排查发现是,没有 使用systemd的接口,凡是使用echo "" > 的方式,非systemd 的方式都会在daemon-reload后被干掉
systemctl set-property dd.service CPUQuota=10%slice 1 下有1个service dd,slice2 有3个service M1 M2 mm 我们做如下试验,发现,只会影响到同一个slice下的
问题描述
Slice 1
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/jiangyi.slice/dd.service/cpu.cfs_quota_us
-1
Slice 2
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/system.slice/M1.service/cpu.cfs_quota_us
-1
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/system.slice/M2.service/cpu.cfs_quota_us
-1
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/system.slice/mm.service/cpu.cfs_quota_us
30000
echo修改
echo修改 slice1/dd.service
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#echo 5000 > /sys/fs/cgroup/cpu/jiangyi.slice/dd.service/cpu.cfs_quota_us
echo修改 slice2/M1.service,M2.service,mm.service
M1
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/system.slice/M1.service/cpu.cfs_quota_us
-1
M2
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#echo 5000 > /sys/fs/cgroup/cpu/system.slice/M2.service/cpu.cfs_quota_us
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/system.slice/M2.service/cpu.cfs_quota_us
5000
mm : mm不做修改,在service unit 中使用CPUQuota=30%
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/system.slice/mm.service/cpu.cfs_quota_us
30000
仅重启M1
结果:均没有发现变化
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#systemctl restart M1
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/system.slice/mm.service/cpu.cfs_quota_us
30000
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/system.slice/M1.service/cpu.cfs_quota_us
-1
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/system.slice/M2.service/cpu.cfs_quota_us
5000
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/jiangyi.slice/dd.service/cpu.cfs_quota_us
5000
仅daemon-reload
依然没有发现任何变化
daemon-reload后重启M1
- M1同slice下的M2被恢复
- M1同slice下的mm没有被恢复,因为,mm使用了CPUQuota=30%
- M1非同slice下的dd没有被修改,可能是因为,和M1不在同一个slice下
大概的猜测是,daemon-reload后,M1的restart会导致同slice下的所有service的cpu quota值 reload一下,但不会使得,非同一个slice下的 cpu quota值reload一下;
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/system.slice/mm.service/cpu.cfs_quota_us
30000
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/system.slice/M2.service/cpu.cfs_quota_us
-1
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/system.slice/M1.service/cpu.cfs_quota_us
-1
[root@jiangyi01.sqa.zmf /sys/fs/cgroup/memory]
#cat /sys/fs/cgroup/cpu/jiangyi.slice/dd.service/cpu.cfs_quota_us
5000
systemd的命令systemctl set-property testSpeed CPUQuota=10%的更多相关文章
- Centos7 服务 service 设置命令 systemctl 用法 (替代service 和 chkconfig)
在Centos 中 systemctl 是设置系统服务的命令,即 service , 它融合之前service和chkconfig的功能于一体. 可以使用它永久性或只在当前会话中启用/禁用服务 ...
- Centos7 环境下开机 自启动服务(service) 设置的改变 (命令systemctl 和 chkconfig用法区别比较)
参考文章: <Linux 设置程序开机自启动 (命令systemctl 和 chkconfig用法区别比较)> http://blog.csdn.net/kenhins/article/ ...
- [转帖]Linux systemd 常用命令
Linux systemd 常用命令 https://www.cnblogs.com/tsdxdx/p/7288490.html systemctl hostnamectl timedatectl l ...
- Linux系统管理命令-systemctl 和 sshd 服务
一系统服务管理命令systemctl 开启一个服务 : systemctl start sshd 关闭一个服务: systemctl stop sshd 查看一个服务的状态: systemctl st ...
- Linux 设置程序开机自启动 (命令systemctl 和 chkconfig用法区别比较)
之前在Linux centos 7 上安装了apache 和mysql,当时并没有设置开机自动启动. 最近又重新练习网页,每次开机总是要手动启动httpd和mysqld,不方便,就想设置成开机自动启动 ...
- systemd服务管理--systemctl常用命令
转自 :https://m635674608.iteye.com/blog/2359480 1. #systemctl enable crond.service //让某个服务开机启动(.servic ...
- systemd服务管理---systemctl命令列出所有服务
1.列出系统所有服务 #systemctl list-units --all --type=service
- Linux systemd 常用命令
系统管理 systemctl 显示系统状态: $ systemctl status 立即激活单元: # systemctl start [单元] 立即停止单元: # systemctl stop [单 ...
- Linux命令——systemctl
前言 systemctl本身的意义并不仅仅是一个命令那么简单,他标志着SysV时代的终结,Systemd时代的开始.CentOS 7.X系列已经抛弃SysV,全面拥抱Systemd这个init sys ...
随机推荐
- Asp.Net MVC以 JSON传值扩展方法
Asp.Net在客户端和服务器端,以JSON形式相互传值,可写扩展方法,用到的类型如下: DataContractJsonSerializer类: 该类在System.Runtime.Serializ ...
- UML学习小结
最近在使用状态模式写一个仿Windows计算器的MFC程序,顺便学习了一下UML图的绘制,尤其是类图和状态图的绘制,这里做一下总结吧. 一.UML简介 统一建模语言UML(Unified Mod ...
- 基于心跳的socket长连接
http://coach.iteye.com/blog/2024444 基于心跳的socket长连接 博客分类: http socket 案例: 心跳: socket模拟网页的报文连接某个网站,创建t ...
- Python 100例(下)
如果你坚持到这了,哪就为自己鼓掌吧!坚持,你一定可以. 实例51: 题目:学习使用按位与&. #!/usr/bin/env python# --*--coding:utf-8 --*--'' ...
- Python之路: 面向对象
Python是一门面向对象的语言,所以在Python中创建一个类和对象是很容易的.接下来了解一下面像对象的一些基本特征. 面向对象技术简介 类(class):描述具有相同的属性和方法的对象的集合.定义 ...
- protobuf python api
摘要: python中一切都可以看作类.那么如何查看每个类的API.使用ipython python protobuf 的函数在message中定义 此处所有的api说明:https://devel ...
- jqGrid的搜索框下拉
当需要在jqGrid的搜索框里配置搜索条件时,如下拉,日期等,代码如下: datePick = function(elem) { jQuery(elem). } colNames : [ " ...
- laravel项目安装debugbar
在github上有laravel项目的debugbar,可以查看项目的页面引用.变量.数据库使用.内存和反应时间等,貌似是一个还不错的小工具,效果如下: 安装地址:https://github.com ...
- LPC1788系统时钟初始化
#ifndef __SYS_H_ #define __SYS_H_ #include "common.h" #define SystemCoreClock 120000000 ...
- OSD的主要实现方法和类型(转)
源:OSD的主要实现方法和类型 目前有两种主要的OSD实现方法:外部OSD发生器与视频处理器间的叠加合成;视频处理器内部 支持OSD,直接在视频缓存内部叠加OSD信息. 外部OSD发生器与视频处理器间 ...