资源管理──cgroup及其子系统 李泽帆 lizf@cn.fujitsu.com.

Slides:



Advertisements
Similar presentations
讀經教育  第一組:吳碧霞、陳鍾仁  第二組:吳雪華、謝濰萁  第三組:邱國峰、林佳玫. 不論上智下愚 成功的教育 讓每個孩子 都能成為最優秀的人才.
Advertisements

容器核心技术及 SDN 实践 田琪 & 闫国旗. Agenda SDN 实践 容器核心技术.
1 I/O 设备访问方式和类型. 2 Overview n The two main jobs of a computer: l I/O (Input/Output) l processing n The control of devices connneted to the computer is.
天水圍的體育設施.
新闻写作基础知识 一. 新闻导语 二.新闻主体 三.新闻结构 四.角度选择.
對於學習不力學生的學習輔導經驗分享 張其清 新北市立新北高工 主任輔導教師.
報告者:蕭曄鴻 班級:溫馨甲孝 指導教授:李開濟博士
單元名稱: 健康的兩性交往.
党的十八届四中全会 依法治国精神解读. 党的十八届四中全会 依法治国精神解读 一、十八届四中全会概况 中国共产党第十八届中央委员会第四次全体会议,于2014年10月20日至23日在北京举行。 全会审议通过了《中共中央关于全面推进依法治国若干重大问题的决定》。
证券市场法律制度与监督管理 作者:张学亮.
香港扶貧計劃 關愛基金 Group 5 組員 馬曉真 余葆 董賽騫 蕭雪兒.
Directions: Print slides 2-7 single sided in color.
政府內部控制 觀念架構與推動作法 主講人:許庭禎
尊重价值规律.
Foundations of Computer Science
我怀念的乡村记忆 陈秀华 社会工作0841.
沟通技巧 主讲:涂育俊.
十二年國民基本教育 高雄區入學方式說明 報告人:中山工商 楊薇主任.
义务教育语文课程标准 修订解读:理念与实施策略
師資培育中心外埠教育參觀.
中央广播电视大学开放教育试点课程 计算机操作系统.
操作系统结构.
HADOOP的高能物理分析平台 孙功星 高能物理研究所/计算中心
第8章 机床操作 主讲:臧红彬 博士.
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理.
BIOS设置.
UClinux在3000平台上的移植.
Human Resource Management
任务2: 通报的写作.
“服务器服务于Internet”报告会 倪光南 1999年7月6日
Chapter 13 輸入/輸出系統 (I/O Systems)
九思易自动化软件 ControlEase Automation Software
CH.2 Introduction to Microprocessor-Based Control
嵌入式操作系统 陈香兰 Fall 2009.
第 19 章 檔案系統與 權限設定.
高雄應用科技大學 有線網路建置實習(I) 聯易科技股份有限公司 Ben 李政勳
Operating System Concepts 作業系統原理 Chapter 3 行程觀念 (Process Concept)
淘宝核心系统数据库组 余锋 利用新硬件提升数据库性能 淘宝核心系统数据库组 余锋
5 Computer Organization (計算機組織).
Operating System Concepts 作業系統原理 CHAPTER 2 系統結構 (System Structures)
Chapter 3 行程觀念 (Process Concept)
ICT RTOS Research Group 胡伟平,王剑
九思易自动化软件 ControlEase Automation Software
Proware Technology Corp.
曙光集群简明使用手册 技术支持中心.
國立中央大學機械系網管小組 指導老師:葉則亮 教授 張新民 助教 邱創文 助教 專案成員:劉柏清 簡永懿
What’s wrong? public int listen() { lock.acquire();
Process management(程序管理)
JTAG INTERFACE SRAM TESTER WITH C-LCM
Chapter 6 Linux 檔案權限與目錄配置 VBird 2005/08/03
邹佳恒 第十八届全国科学计算与信息化会议 • 威海,
食記書寫教學 授課教師: 何素月 師 授課TA: 四語四甲 楊育瑄.
Linux的文件系统 课程目标: 操作系统的运行级别 文件系统架构 设备管理.
第3章 認識處理元.
Introduction to C Programming
作業系統 Operating System 第四單元 檔案系統
$15 文件操作. $15 文件操作 主要内容 文件系统概述 驱动器、目录和文件 文件流和数据流 自定义IO操作.
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
中国科学技术大学计算机系 陈香兰 Fall 2013 第三讲 线程 中国科学技术大学计算机系 陈香兰 Fall 2013.
第六章 記憶體.
面試Cosplay 2015/03/31 by江宜倩.
Computer Science & Information Management
研究方法 課程說明 姚希聖.
活動主題:能「合」才能「作」 指導教授:張景媛教授 設 計 者:協和國小團隊 李張鑫 × 陳志豪.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
第11章 儲存裝置 與其管理.
ADX series Configuration
Linux文件系统.
Experimental Analysis of Distributed Graph Systems
Section 1 Basic concepts of web page
Presentation transcript:

资源管理──cgroup及其子系统 李泽帆 lizf@cn.fujitsu.com

资源管理──cgroup及其子系统 What is cgroup The interface and implementation of cgroup Problems with cgroup Introduction of cgroup subsystems

What is cgroup per-process资源管理:rlimit CKRM:Class-based Kernel Resource Management BeanCounters cgroup(control group):对系统进程进行分组 cgroup subsystem:使用cgroup的分组机制,对一组进程就某种系 统资源实现资源管理。

What is cgroup 图例 t1,t2,t3 (G1)‏ t4 (G2)‏ t5,t6 (G3)‏ all other tasks cpu子系统 50% all other tasks (G0)‏ t4 (G2)‏ 20% t5,t6 (G3)‏ 10% 20%

cgroup的接口与实现 What is cgroup The interface and implementation of cgroup Problems with cgroup Introduction of cgroup subsystems

cgroup的接口与实现 用户接口:pseudo-filesystem cgroup <-> cgroup subsys ~ vfs <-> filesystem (ext4, btrfs, reiserfs ...)‏ mount -t cgroup -o cpuset, memory, devices xxx /mnt

cgroup的接口与实现 cgroup的树结构 (以cpuset为例)‏ 0-1 mkdir 0-5 2,5 mkdir 2-5 3 4

cgroup的接口与实现 Single or multiple hierarchies Single: Multiple: 教授 Mem: 60% Net: 50% 学生 Mem: 20% Net: 30% 管理员 Mem: 20% Net: 20% [Hierarchy_1] 教授 Mem: 60% 学生 Mem: 20% 管理员 Mem: 20% [Hierarchy_2] 浏览器 Net: 20% NFS Net: 70% 其他 Net: 10%

cgroup的接口与实现 进程移动 fork:do_fork() -> copy_process() -> cgroup_fork() -> child->cgroups = current->cgroups; exit:do_exit() -> cgroup_exit() -> tsk->cgroups = &init_css_set; attach:cgroup_tasks_write() -> attach_task_by_pid(new_cgrp, pid) -> can_attach(tsk, new_cgrp) --> attach() y e s

cgroup的接口与实现 cgroup子系统需要实现的调用接口用户接口 create()‏ - 创建cgroup时调用 destroy()‏ - 删除cgroup时调用 populate()‏ - 生成subsys.xxx控制文件 can_attach()‏ - 进程可否移动 attach()‏ - 移动进程 fork()‏ - 新进程fork时调用 exit()‏ - 进程结束时调用

cgroup的问题 What is cgroup The interface and implementation of cgroup Problems with cgroup Introduction of cgroup subsystems

cgroup的问题 gap between can_attach() and attach()

cgroup的问题 “procs” control file 当前:一次只能移动一个进程 echo $pid > /cgroup/sub/tasks 问题1 问题2:名字冲突 procs or cgroup.procs

cgroup的问题 Rules for tasks attaching daemon using Process Event Connector wrappers around binaries script running at ssh logins kernel-side rule engine

cgroup子系统介绍 What is cgroup The interface and implementation of cgroup Problems with cgroup Introduction of cgroup subsystems

cgroup子系统介绍 cpuset 为一组进程分配一组cpu和内存结点 cpuset中的平衡负载(sched load balance)‏ ……

cgroup子系统介绍 cpu – Group CPU Scheduler 一个group有一个cpu.shares,表示该group的cpu时间的权重 SMP fairness的问题 A: 5474(t1) B: 5475(t2), 5476(t3) A.shares = B.shares = 1024 nr_cpus = 2 期望值 – t1 : t2 : t3 = 1024 : 1024/2 : 1024/2 = 2 : 1 : 1 = 100% : 50% : 50% 实际值 – t1 : t2 : t3 = 66.6% : 100% : 33.3%

cgroup子系统介绍 devices – Device Whitelist Controller 设备白名单:一个组有一份白名单,组内进程只能访问白名单上的设备 设备的权限类型:read, write, mknod

cgroup子系统介绍 memory – Memory Resource Controller 控制的内存:RSS和Page Cache *RSS: 驻留在RAM中的虚拟内存页面的数目 Swap controller or mem+swap ? 1. mem and swap: xGB mem + yGB swap 2. mem+swap: (x+y)GB (mem+swap)

cgroup子系统介绍 memrlimit – Memory Address Space Controller Not OOM, but malloc() or mmap() return failure Better control over how many pages can be swapped out when the cgroup goes over its limit

cgroup子系统介绍 Freezer cgroup Freeze all tasks when suspend/hibernate Freeze a set of tasks using cgroup freezer subsystem

cgroup子系统介绍 Network Traffic Controller tc_cgroup - Ranjit Manomohan <ranjitm@google.com> net_cls - Thomas Graf <tgraf@suug.ch>

cgroup子系统介绍 Block I/O Controllerer 控制的方式: - I/O priorities - weight/share - bandwidth limiting 在哪个layer实现io control: - elevator-based io controller - block layer io controller

END Thanks!