国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

燕郊網(wǎng)站建設(shè)天津seo推廣服務(wù)

燕郊網(wǎng)站建設(shè),天津seo推廣服務(wù),哈爾濱城市宣傳片,深圳做網(wǎng)站哪個公司好目錄 1、前言 2、CGroup 2.1、是否開啟CGroup 2.2、Linux CGroup限制資源能使用 2.2.1、創(chuàng)建一個demo 2.2.2、CGroup限制CPU使用 2.3、Linux CGroup限制內(nèi)存使用 2.4、Linux CGroup限制IO 3、Docker對資源的管理 3.1、Docker對CPU的限制 3.1.1、構(gòu)建一個鏡像 3.1.2…

目錄

1、前言

2、CGroup

2.1、是否開啟CGroup

2.2、Linux CGroup限制資源能使用

2.2.1、創(chuàng)建一個demo

2.2.2、CGroup限制CPU使用

2.3、Linux CGroup限制內(nèi)存使用

2.4、Linux CGroup限制IO

3、Docker對資源的管理

3.1、Docker對CPU的限制

3.1.1、構(gòu)建一個鏡像

3.1.2、構(gòu)建兩個容器

3.1.3、查看CPU使用率

3.2、Docker對內(nèi)存的限制

3.3、Docker對IO的限制

3.4、查看Docker的資源配置


1、前言

通常情況下,我們一臺宿主機上會同時啟動多個Docker容器,而在默認情況下,Docker是沒有限制其運行的容器所使用的硬件資源,比如CPU,內(nèi)存,IO等。而在實際環(huán)境中,往往一個容器的負載過高,會占用宿主機的大部分資源,會導(dǎo)致其他容器的訪問資源被搶占,而出現(xiàn)響應(yīng)超時或無法響應(yīng)等情況。

因此,我們往往會對同時啟動的Docker容器做資源的分配和管理。這就是我們今天要說的容器資源管理。

2、CGroup

熟悉Linux的應(yīng)該知道,Linux內(nèi)核提供了一組為cgroup(Controller Group)的進程,通過這些進程可以限制應(yīng)用對資源的使用,如CPU,內(nèi)存等。通過cgroup可以對系統(tǒng)資源做精細化控制,例如實現(xiàn)對每個容器使用的CPU比率進行限制。

Linux CGroup主要提供了幾種功能:

  • Resource Limitation:限制資源的使用,如CPU,內(nèi)存的上限。
  • Prioritization:應(yīng)用的優(yōu)先級控制,如控制任務(wù)的調(diào)度。
  • Accounting:應(yīng)用的審計和統(tǒng)計,例如實現(xiàn)應(yīng)用的計費。
  • Control:實現(xiàn)對應(yīng)用的控制,例如應(yīng)用的掛起,恢復(fù)和執(zhí)行等。

2.1、是否開啟CGroup

cat /boot/config-3.10.0-1160.el7.x86_64 |grep CGROUP

如果相關(guān)參數(shù)是y,表示已經(jīng)啟動了Linux CGroup,默認是開啟的。

0

2.2、Linux CGroup限制資源能使用

2.2.1、創(chuàng)建一個demo

創(chuàng)建一個high_cpu.java文件。

touch high_cpu.java

編寫一段死循環(huán)代碼。

class HighCpu {public static void main(String args[]) {int i=0;while(true){i++;}}
}

再編譯執(zhí)行他。

javac high_cpunohup java HighCpu &

執(zhí)行完觀察cpu占用情況。

htop

我這里啟了兩個,所以兩個進程。但是不影響我們觀測,可以看到進程3999的CPU使用率已經(jīng)接近100%。

0

安裝htop步驟:

yum -y install epel-release.noarch

yum -y install htop

2.2.2、CGroup限制CPU使用

1)首先進入系統(tǒng)cgroup目錄下。

cd /sys/fs/cgroup/
ls

可以看到里面有很多熟悉的資源相關(guān)文件,如cpu,memory,blkio等。

0

沒錯,我們要限制cpu使用,當然是進入到cpu/目錄。

cd spu/
# 創(chuàng)建我們自己的資源隔離腳本,
mkdir mycpu
cd mycpu
ls

可以看到在里面默認生成很多cpu相關(guān)的腳本文件。

0

我們著重看cpu.cfs_quota_us。

cat cpu.cfs_quota_us

里面的值為-1,則表示不限制cpu使用。

0

我們修改他的值為2000,也就是限制20%閾值。

echo 20000 > cpu.cfs_quota_us#同時把我們上面的進程號(3999)寫進tasks文件
echo 3999 > tasks

0

我們再htop觀察下cpu占用,可以看到CPU使用已經(jīng)成功降到了20%的上限。

0

2.3、Linux CGroup限制內(nèi)存使用

同上面的CPU限制,內(nèi)存限制也類似。

cd /sys/fs/cgroup/memory
mkdir mymem
cd mymem
more memory.limit_in_bytes 

可以看到這個值很大,表示對內(nèi)存沒有進行限制。

0

同樣我們可以通過配置進行調(diào)整。

echo 10m > memory.limit_in_bytes#同時把我們上面的進程號(3999)寫進tasks文件
echo 3999 > tasks

這樣,內(nèi)存使用就限制了10m可用。

2.4、Linux CGroup限制IO

cd /sys/fs/cgroup/blkio
mkdir myio
cd myio
echo '8:0 1048576' > blkio.throttle.read_bps_device#同時把我們上面的進程號(3999)寫進tasks文件
echo 3999 > tasks

上面的"8:0"是當前需要限制的設(shè)備號。如要查看/dev/sda磁盤的設(shè)備號,可以使用ls -l /dev/sda。

3、Docker對資源的管理

為什么前面說了那么多Linux CGroup對資源的管理?因為Docker是構(gòu)建在Linux基礎(chǔ)上的,因此Docker就是利用Linux CGroup來實現(xiàn)對資源的控制。那么有了前面CGroup的認識,我們接下來學習Docker資源管理就容易很多。

3.1、Docker對CPU的限制

Docker引擎可以通過-c或--cpu-shares來為每個容器分配一個“CPU使用的權(quán)重”。該權(quán)重與實際的處理速度無關(guān),每個容器默認有1024個CPU配額權(quán)重。

如果啟動了兩個容器,并且兩個都使用默認的權(quán)重值 1024,則 Docker 引擎將把 CPU使用率平均分配給這兩個容器,即這兩個容器各自占用 50%的 CPU使用率。

但是,如果給容器 A分配的是 1024 權(quán)重,而給容器 B分配的是 512 權(quán)重,則會發(fā)現(xiàn)容器A使用CPU的比例比容器B使用 CPU的比例多一倍。

3.1.1、構(gòu)建一個鏡像

創(chuàng)建一個Dockerfile文件,這里直接使用我們前面用過的例子:

# 指定基礎(chǔ)鏡像作為該容器的基礎(chǔ)環(huán)境,如springboot應(yīng)用最起碼得有jdk環(huán)境
FROM openjdk:8# 執(zhí)行維護者的信息
MAINTAINER shamee csdn peng793049488# 創(chuàng)建一個存放該工程的目錄
RUN mkdir -p /data/project
ADD target/dockerfile-springboot-1.0-SNAPSHOT.jar /data/project/dockerfile-springboot-1.0-SNAPSHOT.jar# 對外暴露一個8899端口
EXPOSE 8899# 執(zhí)行啟動
ENTRYPOINT ["/bin/sh", "-c", "java -jar /data/project/dockerfile-springboot-1.0-SNAPSHOT.jar"]

使用docker build構(gòu)建鏡像:

docker build -t docker_cgroup .

0

構(gòu)建完,便可以看到我們的鏡像docker_cgroup。

3.1.2、構(gòu)建兩個容器

# 第一個容器, CPU默認(1024)
docker run -d docker_cgroup --cpu 4 --name=cpu_1024# 第二個容器, CPU配額權(quán)重512
docker run -d  -c 512 docker_cgroup --cpu 4  --name=cpu_512

3.1.3、查看CPU使用率

通過命令:

docker stats

可以看到CPU的占用情況,設(shè)置1024權(quán)重的CPU占用率比512的高將近一倍。

0

docker stats 命令可以查看容器的CPU,內(nèi)存,IO等分配,使用情況。下面的內(nèi)存驗證和IO驗證均可以使用該命令查看。

除此以外,還可以設(shè)置以下參數(shù),直接綁定CPU核心數(shù):

# 表示使用CPU0,1,2核
--cpuset-cpus=0,1,2

3.2、Docker對內(nèi)存的限制

同上面CPU的管理,Docker引擎支持通過-m參數(shù)來設(shè)定容器所使用的內(nèi)存。

如:

docker run -it xxx -m 256m

-m 256m表示限制容器使用的內(nèi)存大小為256m。驗證方式可以類似上面CPU管理方式,可以直接使用docker stats來查看。這里就不贅述。

3.3、Docker對IO的限制

對I/O的限制,可以使用參數(shù):

# 這里是限制容器寫入速度為1MB/s
docker run -it xxx --device-write-bps /dev/sda:1mb

其他參數(shù):

參數(shù)名稱

說明

--blkio-weight

可以通過--blkio-weight 修改容器 blkio 的權(quán)重,權(quán)重值為 10~1000

--blkio-weight-device weighted-device

指定某個設(shè)備的權(quán)重

--device-read-bps throttled-device

按每秒讀取塊設(shè)備的數(shù)據(jù)量設(shè)定上限

--device-read-iops throttled-device

按照每秒讀操作的次數(shù)設(shè)定上限

--device-write-bps throttled-device

按每秒寫入塊設(shè)備的數(shù)據(jù)量設(shè)定上限

--device-write-iops throttled-device

按照每秒寫操作的次數(shù)設(shè)定上限

3.4、查看Docker的資源配置

可以使用:

docker inspect <容器ID或名稱>

來查看容器的具體配置情況信息。

?

http://aloenet.com.cn/news/31580.html

相關(guān)文章:

  • 計算機網(wǎng)站建設(shè)的能力seo網(wǎng)站推廣簡歷
  • 輿情報告分析10000字seo整體優(yōu)化
  • wordpress的開發(fā)者搜索引擎排名優(yōu)化方法
  • 制作一個學校門戶網(wǎng)站中國培訓(xùn)網(wǎng)
  • 餐飲網(wǎng)站開發(fā)性能需求分析免費收錄網(wǎng)站
  • 網(wǎng)站建設(shè)教程公司如何注冊網(wǎng)站平臺
  • 需要做網(wǎng)站建設(shè)的公司上海互聯(lián)網(wǎng)管理系統(tǒng)推廣公司
  • 做網(wǎng)站數(shù)據(jù)庫表設(shè)計seo整站優(yōu)化方案
  • 旅游網(wǎng)站模塊2022年seo最新優(yōu)化策略
  • 備案 添加網(wǎng)站網(wǎng)站可以自己建立嗎
  • 黃驊貼吧房屋租賃信息濰坊網(wǎng)站建設(shè)seo
  • 哪一些網(wǎng)站可以開戶做百度廣告長沙seo推廣公司
  • 創(chuàng)業(yè)做網(wǎng)站需要哪些seo在線教程
  • 寧波網(wǎng)站建設(shè)服務(wù)關(guān)鍵詞優(yōu)化精靈
  • 域名備案網(wǎng)站建設(shè)方案百度云官網(wǎng)登錄入口
  • 廣州大型網(wǎng)站建設(shè)公司網(wǎng)址搜索
  • 哈爾濱搜索引擎排名黑帽seo技巧
  • 我英文網(wǎng)站建設(shè)上海百度推廣
  • b2c電子商務(wù)網(wǎng)站建設(shè)打開網(wǎng)站搜索
  • 二手書屋網(wǎng)站開發(fā)的意義數(shù)據(jù)庫營銷
  • 單位網(wǎng)站建設(shè)做到哪個科目百度關(guān)鍵詞排名代發(fā)
  • 公司免費取名網(wǎng)站seo搜索引擎優(yōu)化案例
  • 網(wǎng)站推廣前景怎么樣seo官網(wǎng)優(yōu)化
  • 湯唯梁朝偉做的視頻網(wǎng)站百度代運營推廣
  • 賣東西的網(wǎng)站怎么建設(shè)網(wǎng)絡(luò)推廣的概念
  • wordpress網(wǎng)頁打開慢seo排名優(yōu)化推廣
  • 洛陽建設(shè)網(wǎng)站制作百度服務(wù)中心人工24小時電話
  • 自建個人網(wǎng)站seo關(guān)鍵詞查詢
  • 上市的網(wǎng)站設(shè)計公司頭條今日頭條新聞
  • linux可以做網(wǎng)站開發(fā)嗎免費二級域名分發(fā)平臺