佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > CentOS下如何查看多核負(fù)載?CentOS下查看多核負(fù)載的方法

CentOS下如何查看多核負(fù)載?CentOS下查看多核負(fù)載的方法

熱門標(biāo)簽:家政服務(wù)網(wǎng)絡(luò) 解決方案 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 外呼系統(tǒng) 硅谷的囚徒呼叫中心 服務(wù)器配置 電話機(jī)器人搭建 美團(tuán)

1. Linux下,如何看每個(gè)CPU的使用率:

#top -M

之后按下數(shù)字1. (或者top之后按1也一樣)則顯示多個(gè)CPU 的信息,和內(nèi)存信息:

[root@testpc ~]# top -M

top - 15:38:40 up 2 days,  2:05,  2 users,  load average: 0.00, 0.00, 0.00

Tasks: 138 total,   1 running, 137 sleeping,   0 stopped,   0 zombie

Cpu0  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

Cpu1  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

Cpu2  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

Cpu3  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

Mem:  3725.047M total,  263.312M used, 3461.734M free,   45.711M buffers

Swap: 8095.992M total,    0.000k used, 8095.992M free,   55.977M cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                        

    1 root      20   0 19228 1512 1224 S  0.0  0.0   0:00.61 init                                                                            

    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd  

2. 在Linux下,如何確認(rèn)是多核或多CPU:

#cat /proc/cpuinfo

如果有多個(gè)類似以下的項(xiàng)目,則為多核或多CPU:

processor       : 0

......

processor       : 1

3. 如何察看某個(gè)進(jìn)程在哪個(gè)CPU上運(yùn)行:

#top -d 1

之后按下f.進(jìn)入top Current Fields設(shè)置頁面:

選中:j: P          = Last used cpu (SMP)

則多了一項(xiàng):P 顯示此進(jìn)程使用哪個(gè)CPU。

Sam經(jīng)過試驗(yàn)發(fā)現(xiàn):同一個(gè)進(jìn)程,在不同時(shí)刻,會(huì)使用不同CPU Core.這應(yīng)該是Linux Kernel SMP處理的。

4. 配置Linux Kernel使之支持多Core:

內(nèi)核配置期間必須啟用CONFIG_SMP選項(xiàng),以使內(nèi)核感知 SMP。

Processor type and features  ---> Symmetric multi-processing support

察看當(dāng)前Linux Kernel是否支持(或者使用)SMP

#uname -a

5. Kernel 2.6的SMP負(fù)載平衡:

在 SMP 系統(tǒng)中創(chuàng)建任務(wù)時(shí),這些任務(wù)都被放到一個(gè)給定的 CPU 運(yùn)行隊(duì)列中。通常來說,我們無法知道一個(gè)任務(wù)何時(shí)是短期存在的,何時(shí)需要長(zhǎng)期運(yùn)行。因此,最初任務(wù)到 CPU 的分配可能并不理想。

為了在 CPU 之間維護(hù)任務(wù)負(fù)載的均衡,任務(wù)可以重新進(jìn)行分發(fā):將任務(wù)從負(fù)載重的 CPU 上移動(dòng)到負(fù)載輕的 CPU 上。Linux 2.6 版本的調(diào)度器使用負(fù)載均衡(load balancing) 提供了這種功能。每隔 200ms,處理器都會(huì)檢查 CPU 的負(fù)載是否不均衡;如果不均衡,處理器就會(huì)在 CPU 之間進(jìn)行一次任務(wù)均衡操作。

這個(gè)過程的一點(diǎn)負(fù)面影響是新 CPU 的緩存對(duì)于遷移過來的任務(wù)來說是冷的(需要將數(shù)據(jù)讀入緩存中)。

記住 CPU 緩存是一個(gè)本地(片上)內(nèi)存,提供了比系統(tǒng)內(nèi)存更快的訪問能力。如果一個(gè)任務(wù)是在某個(gè) CPU 上執(zhí)行的,與這個(gè)任務(wù)有關(guān)的數(shù)據(jù)都會(huì)被放到這個(gè) CPU 的本地緩存中,這就稱為熱的。如果對(duì)于某個(gè)任務(wù)來說,CPU 的本地緩存中沒有任何數(shù)據(jù),那么這個(gè)緩存就稱為冷的。

不幸的是,保持 CPU 繁忙會(huì)出現(xiàn) CPU 緩存對(duì)于遷移過來的任務(wù)為冷的情況。

6. 應(yīng)用程序如何利用多Core :

開發(fā)人員可將可并行的代碼寫入線程,而這些線程會(huì)被SMP操作系統(tǒng)安排并發(fā)運(yùn)行。

另外,Sam設(shè)想,對(duì)于必須順序執(zhí)行的代碼??梢詫⑵浞譃槎鄠€(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)為一個(gè)thread.并在節(jié)點(diǎn)間放置channel.節(jié)點(diǎn)間形如流水線。這樣也可以大大增強(qiáng)CPU利用率。

例如:

游戲可以分為3個(gè)節(jié)點(diǎn)。

1.接受外部信息,聲稱數(shù)據(jù) (1ms)

2.利用數(shù)據(jù),物理運(yùn)算(3ms)

3.將物理運(yùn)算的結(jié)果展示出來。(2ms)

如果線性編程,整個(gè)流程需要6ms.

但如果將每個(gè)節(jié)點(diǎn)作為一個(gè)thread。但thread間又同步執(zhí)行。則整個(gè)流程只需要3ms.

標(biāo)簽:烏蘭察布 臨沂 防城港 撫州 韶關(guān) 邢臺(tái) 南昌 北海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《CentOS下如何查看多核負(fù)載?CentOS下查看多核負(fù)載的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    苍溪县| 宝丰县| 波密县| 元江| 库伦旗| 营山县| 洪江市| 金阳县| 新和县| 湘西| 嘉鱼县| 忻州市| 慈溪市| 东兰县| 赤壁市| 玛纳斯县| 衡水市| 华坪县| 桃园市| 滦平县| 合江县| 长乐市| 鄱阳县| 中方县| 遵化市| 彭山县| 阳山县| 信宜市| 长泰县| 广宗县| 佛冈县| 图片| 盐城市| 双牌县| 汝城县| 广水市| 茂名市| 商城县| 治多县| 扬中市| 赤水市|