亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

CentOS下如何查看多核負載

添加時間:2020-2-10 21:34:19  添加: 思海網絡 
1. Linux下,如何看每個CPU的使用率:

#top -M

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

[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下,如何確認是多核或多CPU:

#cat /proc/cpuinfo

如果有多個類似以下的項目,則為多核或多CPU:

processor       : 0

......

processor       : 1

3. 如何察看某個進程在哪個CPU上運行:

#top -d 1

之后按下f.進入top Current Fields設置頁面:

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

則多了一項:P 顯示此進程使用哪個CPU。

Sam經過試驗發現:同一個進程,在不同時刻,會使用不同CPU Core.這應該是Linux Kernel SMP處理的。

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

內核配置期間必須啟用CONFIG_SMP選項,以使內核感知 SMP。

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

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

#uname -a

5. Kernel 2.6的SMP負載平衡:

在 SMP 系統中創建任務時,這些任務都被放到一個給定的 CPU 運行隊列中。通常來說,我們無法知道一個任務何時是短期存在的,何時需要長期運行。因此,最初任務到 CPU 的分配可能并不理想。

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

這個過程的一點負面影響是新 CPU 的緩存對于遷移過來的任務來說是冷的(需要將數據讀入緩存中)。

記住 CPU 緩存是一個本地(片上)內存,提供了比系統內存更快的訪問能力。如果一個任務是在某個 CPU 上執行的,與這個任務有關的數據都會被放到這個 CPU 的本地緩存中,這就稱為熱的。如果對于某個任務來說,CPU 的本地緩存中沒有任何數據,那么這個緩存就稱為冷的。

不幸的是,保持 CPU 繁忙會出現 CPU 緩存對于遷移過來的任務為冷的情況。

6. 應用程序如何利用多Core :

開發人員可將可并行的代碼寫入線程,而這些線程會被SMP操作系統安排并發運行。

另外,Sam設想,對于必須順序執行的代碼。可以將其分為多個節點,每個節點為一個thread.并在節點間放置channel.節點間形如流水線。這樣也可以大大增強CPU利用率。

例如:

可以分為3個節點。

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

2.利用數據,物理運算(3ms)

3.將物理運算的結果展示出來。(2ms)

如果線性編程,整個流程需要6ms.

但如果將每個節點作為一個thread。但thread間又同步執行。則整個流程只需要3ms.


關鍵字:CentOS、多核、負載
分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站