在Ubuntu中怎么绑定CPU进程?

  Linux进程包括核心进程和普通进程,把普通进程绑定到Linux系统CPU核中运行,那么普通进程就成了核心进程。本文就以Ubuntu为例子来介绍一下,在Ubuntu中怎么绑定CPU进程。

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

  下面用一个简单的例子来说明怎样做到。

  1. CPU利用率达100%的样例代码:

  class Test {

  public static void main(String args[]) {

  int i = 0;

  while (true) {

  i++;

  }

  }

  }

  2. 编译并运行上面的样例代码

  # javac Test.java

  # java Test &

  [1] 26531

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

  如果未安装htop工具,执行下面的命令:

  # 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 http://mirrors.163.com/ubuntu/ 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)…

  安装完成后,执行命令:

  # htop

在Ubuntu中怎么绑定CPU进程?

  上面的视图可以看到,CPU2的利用率达到100%,且这个进程有可能被分配到其它CPU核上运行,这个分配是不定的。

  4. 进程绑定CPU核

  运行以下命令,把此Java进程(进程ID号为26502)永久的分配给5号CPU核(CPU核号从0开始计算,因此序号4指的是5号CPU核)

  # taskset -cp 5 26531

  pid 26531‘s current affinity list: 0-7

  pid 26531’s new affinity list: 5

在Ubuntu中怎么绑定CPU进程?

  从上面的视图中可以看到6号CPU核的利用率为100%。

  以上就是在Ubuntu中怎么绑定CPU进程的介绍了,当然有些CPU核可能不只一个,不过不管绑定到哪个核效果都是一样的。

未经允许不得转载:系统吧-电脑系统大神 » 在Ubuntu中怎么绑定CPU进程?

赞 (0)