虛擬化

三者的關(guān)系

嚴格的說度苔,Container技術(shù)并非虛擬化,更準確的說它是一種資源隔離機制。VMM或者叫Hypervisor是標準的虛擬化技術(shù)竣付,這種技術(shù)通過虛擬層(也就是VMM或叫Hypervisor)把上層虛擬機的指令轉(zhuǎn)換成底層Host操作系統(tǒng)所認識的指令。所以滞欠,虛擬化技術(shù)可以在主機上虛擬出各種類型的操作系統(tǒng)古胆,而Container技術(shù)只能“虛擬”出與其主機操作系統(tǒng)相同或很類似的“虛擬機”。

LXC和Warden以及最近火熱的Docker都是基于CGroup在其上封裝了一層筛璧。所以逸绎,我們還是一起學(xué)習(xí)CGroup吧:)

一、CGroup

(1)CGroup簡介及用法

http://linuxaria.com/article/introduction-to-cgroups-the-linux-conrol-group?lang=en

控制資源的三種方法:

First method it’s to use the meta-filesystem of cgroups.

|

<pre class="bash" name="code" style="margin: 0px 0px 24px; padding: 0px; font-weight: 400; box-sizing: border-box; background-color: rgb(240, 240, 240); overflow-x: auto; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 14px; line-height: 22px; color: rgb(0, 0, 0);">$ echo 2048 >> /sys/fs/cgroup/cpu/Multimedia/cpu.shares</pre>

|

Second method it’s to use a set of commands

|

<pre class="bash" name="code" style="margin: 0px 0px 24px; padding: 0px; font-weight: 400; box-sizing: border-box; background-color: rgb(240, 240, 240); overflow-x: auto; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 14px; line-height: 22px; color: rgb(0, 0, 0);">cgset -r cpu.shares=1024 Browsers</pre>

|

** Notice, the value of memory.memsw.limit_in_bytes must not less than that of memory.limit_in_bytes. See the following validation:**

root@app-node-v-o:/home/test/memleak# echo 1G >> /sys/fs/cgroup/memory/zhxue/memory.limit_in_bytes

root@app-node-v-o:/home/test/memleak# echo 200M >> /sys/fs/cgroup/memory/zhxue/memory.memsw.limit_in_bytes
bash: echo: write error: Invalid argument
root@app-node-v-o:/home/test/memleak# echo 100M >> /sys/fs/cgroup/memory/zhxue/memory.memsw.limit_in_bytes
bash: echo: write error: Invalid argument
root@app-node-v-o:/home/test/memleak# echo 10G >> /sys/fs/cgroup/memory/zhxue/memory.memsw.limit_in_bytes

The cgred Daemon

Cgred is a daemon that moves tasks into cgroups according to parameters set in the /etc/cgrules.conf file. Entries in the /etc/cgrules.conf file can take one of the two forms:

  • user hierarchies control_group

  • user:command hierarchies control_group

For example:

<pre style="margin: 1.5em 0px; padding: 1em; font-weight: 400; box-sizing: border-box; background-color: rgb(247, 247, 247); overflow: auto; font-family: "Courier New", Courier, Monaco, "Lucida Console", monospace; font-size: 14px; line-height: 1.5em; color: rgb(0, 0, 0); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; border: 1px solid rgb(221, 221, 221);">maria devices /usergroup/staff</pre>

This entry specifies that any processes that belong to the user named maria access the devices subsystem according to the parameters specified in the /usergroup/staff cgroup. To associate particular commands with particular cgroups, add the command parameter, as follows:

<pre style="margin: 1.5em 0px; padding: 1em; font-weight: 400; box-sizing: border-box; background-color: rgb(247, 247, 247); overflow: auto; font-family: "Courier New", Courier, Monaco, "Lucida Console", monospace; font-size: 14px; line-height: 1.5em; color: rgb(0, 0, 0); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; border: 1px solid rgb(221, 221, 221);">maria:ftp devices /usergroup/staff/ftp</pre>

The entry now specifies that when the user named maria uses the ftp command, the process is automatically moved to the /usergroup/staff/ftp cgroup in the hierarchy that contains the devices subsystem.

/etc/cgrules.conf 文???件???中???的???條???目???可???包???括???以???下???額???外???符???號???:

  • @ - 當???在??? user 使???用???前???綴???時???夭谤,代???表???是???一???個???組???群???而???不???是???單???獨???用???戶???棺牧。???例???如???:@admins 是??? admins 組???群???中???的???所???有???用???戶???。???

  • * - 代???表???“???所???有???”???朗儒。???例???如???:subsystem 字???段???中???的??? * 代???表???所???有???子???系???統(tǒng)???颊乘。???

  • % - 代???表???與???以???上???行???中???項???目???相???同???的???項???目???参淹。???例???如???:

問題:

1)在ubuntu高版本(13.04)上無法更改memsw值:

a. 直接該文件不行

root@ubuntudev:/sys/fs/cgroup/memory# echo 100M >> zhxue/memory.limit_in_bytes root@ubuntudev:/sys/fs/cgroup/memory# echo 100M >> zhxue/memory.memsw.limit_in_bytes
bash: echo: write error: Operation not supported
root@ubuntudev:/sys/fs/cgroup/memory# cat zhxue/memory.limit_in_bytes
104857600
root@ubuntudev:/sys/fs/cgroup/memory# cat zhxue/memory.memsw.limit_in_bytes
cat: zhxue/memory.memsw.limit_in_bytes: Operation not supported

b. 命令更改也無效:

root@ubuntudev:/sys/fs/cgroup/memory# cgset -r memory.memsw.limit_in_bytes=10MB zhxue
cgset: the group can't be modified

注意到memory.memsw.limit_in_bytes和memory.limit_in_bytes文件屬性一模一樣,為什么不能改乏悄?很奇怪浙值。

(2) CGroup原理——很全面的文章

從底層數(shù)據(jù)結(jié)構(gòu)到上層文件系統(tǒng),非常有價值檩小。

Linux Cgroups詳解 by 王喆鋒

http://files.cnblogs.com/lisperl/cgroups%E4%BB%8B%E7%BB%8D.pdf

(3) CGroup文件及參數(shù)詳解

https://www.kernel.org/doc/Documentation/cgroups/

在內(nèi)存這塊开呐,CGroup默認分配的內(nèi)存為8PB,請看:

root@ubuntudev:/sys/fs/cgroup/memory# cgcreate -g memory:zhxue

root@ubuntudev:/sys/fs/cgroup/memory# ll zhxue/
cgroup.clone_children memory.memsw.usage_in_bytes
cgroup.event_control memory.move_charge_at_immigrate
cgroup.procs memory.oom_control
memory.failcnt memory.soft_limit_in_bytes
memory.force_empty memory.stat
memory.limit_in_bytes memory.swappiness
memory.max_usage_in_bytes memory.usage_in_bytes
memory.memsw.failcnt memory.use_hierarchy
memory.memsw.limit_in_bytes notify_on_release
memory.memsw.max_usage_in_bytes tasks

root@ubuntudev:/sys/fs/cgroup/memory# cat zhxue/memory.limit_in_bytes
9223372036854775807

root@ubuntudev:/sys/fs/cgroup/memory# cgset -r memory.limit_in_bytes=10M zhxue

root@ubuntudev:/sys/fs/cgroup/memory# cat zhxue/memory.limit_in_bytes
10485760

二识啦、LXC

LXC(Linux containers)配置文件簡介

http://www.cnblogs.com/lisperl/archive/2012/04/16/2451215.html

LXC:Linux 容器工具

http://www.ibm.com/developerworks/cn/linux/l-lxc-containers/

Linux 內(nèi)存不足的解決辦法 – 增加虛擬內(nèi)存 Swap Space

http://www.cpanelcn.info/linux-%E5%86%85%E5%AD%98%E4%B8%8D%E8%B6%B3%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95-%E5%A2%9E%E5%8A%A0%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98-swap-space.html
轉(zhuǎn)載自:http://blog.csdn.net/zhxue123/article/details/8945236

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末负蚊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子颓哮,更是在濱河造成了極大的恐慌家妆,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冕茅,死亡現(xiàn)場離奇詭異伤极,居然都是意外死亡,警方通過查閱死者的電腦和手機姨伤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進店門哨坪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人乍楚,你說我怎么就攤上這事当编。” “怎么了徒溪?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵忿偷,是天一觀的道長。 經(jīng)常有香客問我臊泌,道長鲤桥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任渠概,我火速辦了婚禮茶凳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘播揪。我一直安慰自己贮喧,他們只是感情好,可當我...
    茶點故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布猪狈。 她就那樣靜靜地躺著箱沦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪罪裹。 梳的紋絲不亂的頭發(fā)上饱普,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天,我揣著相機與錄音状共,去河邊找鬼套耕。 笑死,一個胖子當著我的面吹牛峡继,可吹牛的內(nèi)容都是我干的冯袍。 我是一名探鬼主播,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼碾牌,長吁一口氣:“原來是場噩夢啊……” “哼康愤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起舶吗,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤征冷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后誓琼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體检激,經(jīng)...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年腹侣,在試婚紗的時候發(fā)現(xiàn)自己被綠了叔收。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,777評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡傲隶,死狀恐怖饺律,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情跺株,我是刑警寧澤复濒,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站帖鸦,受9級特大地震影響芝薇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜作儿,卻給世界環(huán)境...
    茶點故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一洛二、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧攻锰,春花似錦晾嘶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至妒蛇,卻和暖如春机断,著一層夾襖步出監(jiān)牢的瞬間楷拳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工吏奸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留欢揖,地道東北人。 一個月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓奋蔚,卻偏偏與公主長得像她混,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子泊碑,可洞房花燭夜當晚...
    茶點故事閱讀 43,687評論 2 351

推薦閱讀更多精彩內(nèi)容