本文是一篇 2017 年的文章,雖然已經四年之久,但是我認為本篇文章值得一讀。
作者團隊於 2017 年時正在經歷如何將 VM 上的各種 Java 應用程式轉移到 Kubernetes 內的 Container,而本篇文章則是探討到底 Container 是如何透過 Linux Control Group 以及 namespace 實作的,透過對這些底層實作的瞭解,才有辦法針對 Container 效能部分去除錯與提升。
這種文章探討的都是很底層的概念,建議所有人都閱讀一遍,好好複習關於 cgroups/namespace 的概念,透過對這些概念的理解與掌握,能夠更有系統的去解釋何謂Docker Container,何謂輕量級虛擬化。
以下幫大家節錄一些重點,還是推薦自行閱讀全文
1. cgroup 用來隔離與限制 CPU,Memory,Disk,Network Bandwidth 等資源的用量
2. namespace 則是用來限制 ipc, pid, mount ,network, utc 等資訊的可視性,不同 namespace 內看到的資訊是獨立的,但是最終彼此還是屬於同一個 Kernel。
3. 任何沒有被 cgroup 規範的應用程式都會被自動包含到 root cgroup 的規範,不同發行版其位置不同,譬如 /sys/fs/cgropu.
假設今天透過 docker run 去運行一個 java 應用程式
a. Docker 會創建一個 pid namespace,接者運行 Java 前先把該應用程式給掛到新的 pid namespace 上並且賦予該 java 應用程式 PID 1
註: Host 上還是可以觀察到該 Java 應用程式,因為除了 Host 本身外,每個 pid namespace 都有自己的老爸,而老爸是可以看到小孩資訊的,這意味 docker dameon 雖然創建新的 pid namespace,但是host的pid namespace 實際是新 namespace 的老爸
b. 從老爸的視角來看,可以看到該 Java 應用程式也會有一個不同的 PID,而這個 PID 也會於 cgroup 系統中有自己的設定
4. CPU Cgroup 則是會用 share 為單位來定義每個 task 可以獲得多少相對的 CPU 時間,相對的算法是去計算 task 擁有的 share 數量佔了整個 cgroup 階層元件中的多少百分比。
舉例: 捨去其他服務單純考慮運行三個 Container 且有 4 Core CPU 的環境,三個 Container Task 分別給予 2048,1024,1024 share 的話,第一個 Container 大致是會被分配到兩個 CPU Time
5. CPU shares 沒有辦法去保證每個 task 最小用量是多少,所以需要透過 CPU Quotas 的概念來設定 CPU.cfs_quota_us(假設使用 CFS 這個排成演算法)以及 CPU.cfs_period_us(預設100ms)。
概念大概就是 cfs_period_us 定義的時間內,你最小可以使用多少時間,所以假如設定 cfs_quota_us 為 100ms,則預設情況下該 process 可以使用的量就是 100ms/100ms = 1 ~= 1 Core CPU
k8s 與上述的相關bug 可參考下列 issue
https://github.com/kubernetes/kubernetes/issues/67577
6. JVM 看到的是系統上全部的 CPU 資源,但是 Contaienr 本身當被限制 CPU 用量時,會有資訊落差,造成 GC 運行的效果不如預期,因為其認為系統有超多 CPU,而不知道自己其實被限制的CPU很少。
原文滿精彩的,推薦閱讀
https://engineering.squarespace.com/blog/2017/understanding-linux-container-scheduling
同時也有18部Youtube影片,追蹤數超過43萬的網紅Carl Ho卡爾 頻道,也在其Youtube影片中提到,[PC/Android/Mac/Linux] Pokémon Revolution Online (PRO)神奇寶貝革命 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Reward List 獎品列表: Cloth 服裝 (1 of the random below 隨機1種): ...
「linux mount」的推薦目錄:
- 關於linux mount 在 矽谷牛的耕田筆記 Facebook 的最佳解答
- 關於linux mount 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
- 關於linux mount 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
- 關於linux mount 在 Carl Ho卡爾 頻道 Youtube 的精選貼文
- 關於linux mount 在 Carl Ho卡爾 頻道 Youtube 的最佳解答
- 關於linux mount 在 Carl Ho卡爾 頻道 Youtube 的最佳貼文
- 關於linux mount 在 util-linux/mount.c at master - GitHub 的評價
- 關於linux mount 在 Mount linux image in docker container - Stack Overflow 的評價
- 關於linux mount 在 How to mount a device in Linux? - Unix & Linux Stack Exchange 的評價
linux mount 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
ลองเล่นดูเห็นว่าดี เลยมาแบ่งปัน
ใช้ AI แปลงภาพเก่าพวกขาวดำ ให้กลายเป็นภาพสี
.
ตัวอย่างนี้ซ้ายมือคือภาพอนุสาวรีย์ชัยในอดีต
ก็สามารถเติมสีให้มีชีวิตชีวาโดยใช้ปัญญาประดิษฐ์ (AI)
.
ตัวโค้ดก็ที่นี้ครับ
ต้นฉบับจากงานวิจัยโดยตรง
ใช้ภาษา python งูเหลือมนะ
https://github.com/jantic/DeOldify
.
++++ วิธีการรัน +++++
ใครมี google drive จะสบายมาก ขอบอกเลย
เวลาใช้งานให้ผ่าน colab
https://colab.research.google.com/…/ma…/DeOldify_colab.ipynb
สามารถรัน AI ผ่านหน้าเว็บได้โดยตรง
โดยไม่ต้องติดตั้งโปรแกรมในเครื่องเราให้วุ่นวาย
รวดเร็วสะดวกทันใจ
แต่ต้องต่ออินเตอร์เนตนะครับ
.
เพราะมันจะไปรันผ่าน cloud ของทาง Google เขา
ส่วนเวลาจะอัพรูปอื่น เพื่อลองเล่นดู
ก็ให้วางไฟล์ผ่าน google drive ได้เลยครับ
สามารถ mount จากเครื่องคอมเราได้เลย
จึงสามารถนำรูปเก่าๆ ไปวางได้โดยตรง
.
.
แล้วถ้าติดตั้งโปรเจคนี้ ลงเครื่องตัวเอง
เครื่องก็ต้องมี GPU นะครับ
เพราะโปรเจคนี้ CPU ไม่น่าไหว
ส่วน os ก็เป็น linux ก็จะดี เพราะจะทำตามงานวิจัยเขา
วินโดว์ก็ได้ ผมลองแหละ
แต่อาจเซทโน่นนี้หน่อย
.
ในทางเทคนิค
AI ตัวนี้ใช้ deep learning
เป็น Generative Adversarial Networks (GAN)
งานวิจัยต้นฉบับก็ตามนี้แหละ
https://arxiv.org/pdf/1805.08318.pdf
.
.
ถ้าถามความถูกต้องมาแค่ไหนละก็
เท่าที่ลองก็ยังมีผิดอยู่ ก็ไม่ได้สมบูรณ์อะไรมาก
ยิ่งเป็นภาพเก่าๆ ผมว่ายังคลาดเคลื่อนอยู่นะ
แต่อันนี้เลือกภาพที่ดูดีมาให้ชมครับ
.
เขียนโดย โปรแกรมเมอร์ไทย thai programmer
ที่มารูปจากกระทูพันทิป https://pantip.com/topic/31896637
.
.
>>> ขออนุญาตประชาสัมพันธ์ ขายของหน่อย
ถ้าใครสนใจหนังสือ "AI ไม่ยาก เรียนรู้ด้วยเลขม. ปลาย"
ก็สั่งซื้อได้ที่นี้เป็น ebook (ขออภัยยังไม่มีเล่มกระดาษขาย)
👉 https://www.mebmarket.com/web/index.php…
.
ส่วนตัวอย่างหนังสือ ถ้าเพื่อนๆ สนใจก็ทัก inbox มาถามได้ครับ
.
.
.
>>> ขออนุญาตประชาสัมพันธ์ ขายของหน่อย
ถ้าใครสนใจหนังสือ "AI ไม่ยาก เรียนรู้ด้วยเลขม. ปลาย"
ก็สั่งซื้อได้ที่นี้เป็น ebook (ขออภัยยังไม่มีเล่มกระดาษขาย)
👉 https://www.mebmarket.com/web/index.php…
.
ส่วนตัวอย่างหนังสือ ถ้าเพื่อนๆ สนใจก็ทัก inbox มาถามได้ครับ
.
✍ เขียนโดย โปรแกรมเมอร์ไทย thai programmer
linux mount 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
ข่าวลือที่เป็นจริง ...เมื่อ Ubuntu จะมาอยู่บนวินโดวส์ ข่าวดีสำหรับนักพัฒนาซอฟต์แวร์บนวินโดวส์ โดยเฉพาะ (น้ำตาจะไหลดีเปล่าเนี่ย)
ที่ประชุมงาน BUILD 2016 ไมโครซอฟต์ประกาศ Windows 10 ตัวอัพเดตใหม่ (เรียกว่า Anniversary Update) จะสามารถรัน Bash (Shell script) ของ Linux เป็นแบบ Native ใน cmd.exe ของวินโดวส์ได้แล้วจ้า!!!!
+++++ต่อไปเราก็จะทำได้ดังนี้+++++
1) มียูสเซอร์บน Windows 10
2) เปิด Start menu ขึ้นมา
3) พิมพ์คำว่า bash แล้วกด Enter
4) เมื่อนั้นคอนโซลในตำนานที่เรารู้จักกันดีอย่าง cmd.exe ก็จะโผล่ขึ้นมา
5) สามารถรันคำสั่ง /bin/bash
6) เมื่อนั้น User space ของ Ubuntu ก็จะได้สิทธิเต็มที่
7) ต่อไปเราก็สามารถใช้คำสั่งพวกนี้้ได้ apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget, apache, mysql, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch…
8) นั้นหมายความว่า หลายหมื่นกว่าแพคเก็จไบนารี่ของ Ubuntu สามารถเอามาติดตั้งได้ ...โอ้พระเจ้าทอดกล้วยปิ้ง
++++ต้องเข้าใจอย่างนี้ว่า++++
- มันไม่ใช่ virtual machine
-ไม่ใช่ Container
-ไม่ใช่ Cygwin
-ไม่เหมือนตัว Linux emulator
*มันเป็นเพียง Ubuntu user space
*มันเป็นเพียงไบนารี่แบบ Native ของ Ubuntu ที่รันได้โดยตรงในวินโดวส์
*และไมโครซอฟต์ก็เรียกว่าเป็น Windows Subsystem สำหรับ Linux
+++++ในข่าวมันยังบอกอีกว่า++++
- เราสามารถ mount เห็นระบบไฟล์ของ Ubuntu ได้ด้วยนะ จาก Windows Explorer
- จะพิมพ์คำสั่ง ssh ต่อเน็ตเวิร์คออกไปข้างนอกก็ได้ โดยไม่ต้องพึ่งโปรแกรม Putty
- สามารถใช้ apt ติดตั้ง และอัพเกรตอะไรก็ได้ ตามที่อยากได้
ถ้าสนใจจะอ่านรายละเอียดอ่านเพิ่มได้ที่ (แปลและเรียบเรียงใส่สีตีเข่ามาอีกที)
https://insights.ubuntu.com/…/ubuntu-on-windows-the-ubuntu…/
linux mount 在 Carl Ho卡爾 頻道 Youtube 的精選貼文
[PC/Android/Mac/Linux] Pokémon Revolution Online (PRO)神奇寶貝革命
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Reward List 獎品列表:
Cloth 服裝 (1 of the random below 隨機1種):
Summer Black Red
Summer Black Green
Summer Black Blue
Summer White Red
Summer White Green
Summer White Blue
Team Aqua Uniform
Team Magma Uniform
Hat 帽子 (1 of the random below 隨機1種):
Slowking Crown
Shellos Hat
Chinchou Hat
Qwilfish Hat
Whiscash Hat
Wooper Hat
Poliwhirl Hat
Politoed Hat
Feebas Hat
Magikarp Hat
Mount 坐騎 (Defeat both of the bosses to get this 要兩個首領都打敗才拿到):
Wailmer Mount
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
▷ Game guide list 遊戲攻略 ◁
https://goo.gl/Hmuazl
▷ Official Site 官方網站 ◁
http://pokemon-revolution-online.net/
▷ PRO Pokémon List (EV, items, Headbutt, Cool down) 精靈, 努力值, 物品, 頭槌, 冷卻時間列表 ◁
https://goo.gl/QGUphx
▷ Hoenn Map (Sea) 豐緣地圖(海洋部份) ◁
https://goo.gl/r9SBKq
▷ PRO 中/港/臺 神奇寶貝 討論區(臉書)◁
https://goo.gl/sS4Xp0
Windows 64bit: → http://tiny.cc/PROx64
Backup download (93.3): https://goo.gl/oDvqT7
Windows 32bit → http://tiny.cc/PROx86
Backup download (93.3) : https://goo.gl/rXQO4D
Mac → http://tiny.cc/PROMAC
Android → http://tiny.cc/PRODroid
Linux → http://tiny.cc/PROLinux
linux mount 在 Carl Ho卡爾 頻道 Youtube 的最佳解答
▷ (NEW!) PRO中/港/臺 神奇寶貝 討論區(臉書)◁
https://goo.gl/sS4Xp0
▷ Game guide list 遊戲攻略 ◁
https://goo.gl/Hmuazl
▷ Official Site 官方網站 ◁
http://pokemon-revolution-online.net/
▷ PRO Pokemon List (EV, items, Headbutt) 精靈, 努力值, 物品, 頭槌列表 ◁
https://goo.gl/QGUphx
Windows 64bit: → http://tiny.cc/PROx64
Backup download (93.3): https://goo.gl/oDvqT7
Windows 32bit → http://tiny.cc/PROx86
Backup download (93.3) : https://goo.gl/rXQO4D
Mac → http://tiny.cc/PROMAC
Android → http://tiny.cc/PRODroid
Linux → http://tiny.cc/PROLinux
_____________________________________________________________
Event End at 30/12/2015
linux mount 在 Carl Ho卡爾 頻道 Youtube 的最佳貼文
▷ Game guide list 遊戲攻略 ◁
https://goo.gl/Hmuazl
▷ Official Site 官方網站 ◁
http://pokemon-revolution-online.net/
▷ PRO Pokemon List (EV, items, Headbutt) 精靈, 努力值, 物品, 頭槌列表 ◁
https://goo.gl/QGUphx
▷ PRO中/港/臺 神奇寶貝 討論區(臉書)◁
https://goo.gl/sS4Xp0
Windows 64bit: → http://tiny.cc/PROx64
Backup download (93.3): https://goo.gl/oDvqT7
Windows 32bit → http://tiny.cc/PROx86
Backup download (93.3) : https://goo.gl/rXQO4D
Mac → http://tiny.cc/PROMAC
Android → http://tiny.cc/PRODroid
Linux → http://tiny.cc/PROLinux
------------------------------------------------------------------------------------------------------
***Thank PRO player "Nagabr" remind of this quest***
1. Go down from Fuchsia City and Surf East to Arcanine Farm 在Fuchsia City下面往右游就可以看到奉神犬農場
2. Find Arcanine Farmer to get the mission 找農夫開始任務
3. Catch Dratini, Kangaskhan and Chansey by YOURSELF 3隻寶貝都要親手自己抓的, 這點很重要喔!
Suggest Location for Catching 建議抓點:
Kangaskhan – Rock Tunnel 1 (member only, If you want the mount instead of buying a bike, you can try catch it in Safari area 1)
Chansey – Route 13 (higher chance compare with Route 14)
Dratini – Dragon Den [by Super Rod] 迷你龍/寶貝龍需要超級釣竿
(If you want the mount instead of buying a bike, you can try catch it in Safari area 2)
(Super Rod : After getting good rod and buy it from Olivine City, North from PokeMart, Left House)
超級釣竿位置: 城都Olivine City商店上面的屋子(左)
4. Bring and show them to Arcanine Farmer
linux mount 在 How to mount a device in Linux? - Unix & Linux Stack Exchange 的推薦與評價
I read some resources about the mount command for mounting devices on Linux, but none of them is clear enough (at least for me). ... <看更多>
linux mount 在 util-linux/mount.c at master - GitHub 的推薦與評價
mount (8) -- mount a filesystem. *. * Copyright (C) 2011 Red Hat, Inc. All rights reserved. * Written by Karel Zak <[email protected]>. ... <看更多>