技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類 >

如何在Ubuntu中綁定CPU進(jìn)程?

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-01-21 12:18┆點(diǎn)擊:

  現(xiàn)在科技在不斷發(fā)展現(xiàn)在多CPU的趨勢(shì)越來(lái)越大了. 有時(shí)候?yàn)榱烁玫夭僮鳈C(jī)器, 需要將某個(gè)進(jìn)程綁定到具體的CPU上去。大家可能不能理解將進(jìn)程綁定到CPU中運(yùn)行是什么意思,簡(jiǎn)單的說(shuō)就是進(jìn)程/線程與cpu綁定,最直觀的好處就是提高了cpu cache的命中率,從而減少內(nèi)存訪問(wèn)損耗,提高程序的速度,將普通進(jìn)程變成核心進(jìn)程。下面小編就像大家介紹在Ubuntu中怎么綁定CPU進(jìn)程,Ubuntu(烏班圖)是一個(gè)以桌面應(yīng)用為主的Linux操作系統(tǒng),和小編一起學(xué)習(xí)吧。

  在Ubuntu中綁定CPU進(jìn)程的方法

  taskset -cp 《CPU ID | CPU IDs》 《Process ID》

  下面用一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明怎樣做到。

  1. CPU利用率達(dá)100%的樣例代碼:

  class Test {

  public static void main(String args[]) {

  int i = 0;

  while (true) {

  i++;

  }

  }

  }

  2. 編譯并運(yùn)行上面的樣例代碼

  # javac Test.java

  # java Test &

  [1] 26531

  3. 使用htop命令查看CPU的利用率

  如果未安裝htop工具,執(zhí)行下面的命令:

  # apt-get install htop

  Reading package lists... Done

  Building dependency tree

  Reading state information... Done

  The following NEW packages will be installed:

  htop

  0 upgraded, 1 newly installed, 0 to remove and 41 not upgraded.

  Need to get 66.9 kB of archives.

  After this operation, 183 kB of additional disk space will be used.

  Get:1 precise/universe htop amd64 1.0.1-1 [66.9 kB]

  Fetched 66.9 kB in 0s (163 kB/s)

  Selecting previously unselected package htop.

  (Reading database ... 57100 files and directories currently installed.)

  Unpacking htop (from .../htop_1.0.1-1_amd64.deb)...

  Processing triggers for man-db ...

  Setting up htop (1.0.1-1)...

  安裝完成后,執(zhí)行命令:

  # htop

829.jpg

  上面的視圖可以看到,CPU2的利用率達(dá)到100%,且這個(gè)進(jìn)程有可能被分配到其它CPU核上運(yùn)行,這個(gè)分配是不定的。

  4. 進(jìn)程綁定CPU核

  運(yùn)行以下命令,把此Java進(jìn)程(進(jìn)程ID號(hào)為26502)永久的分配給5號(hào)CPU核(CPU核號(hào)從0開(kāi)始計(jì)算,因此序號(hào)4指的是5號(hào)CPU核)

  # taskset -cp 5 26531

  pid 26531‘s current affinity list: 0-7

  pid 26531’s new affinity list: 5

830.jpg

  從上面的視圖中可以看到6號(hào)CPU核的利用率為100%。

  隨著CPU核的多個(gè)化,這樣的綁定方法也是一樣的,無(wú)論綁定哪個(gè)CPU核都能啟動(dòng)同樣的效果,相信大家都追求運(yùn)行的高速度,趕快來(lái)學(xué)習(xí)綁定CPU進(jìn)程的方法吧!