• Ubuntu系统进程绑定CPU核


    Ubuntu系统进程绑定CPU核

    作者:chszs。版权全部,未经允许,不得转载。

    博主主页:http://blog.csdn.net/chszs

    本文讲述如何在Ubuntu系统中,把指定的进程绑定到指定的CPU核执行。

    而一般是由操作系统负责管理进程和线程的调度。可是这样的情况下是不清楚由哪个CPU核执行你的进程,由于操作系统的调度是基于资源的可用性进行推断的。

    能够这样。把指定的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
    

    这里写图片描写叙述
    上面的视图能够看到。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
    

    这里写图片描写叙述
    从上面的视图中能够看到6号CPU核的利用率为100%。

  • 相关阅读:
    hive0.13.1安装-mysql server作为hive的metastore
    hadoop2.2集群部署教程连接
    hadoop2.4.1伪分布模式部署
    spring cloud (四、服务消费者demo_consumer)
    spring cloud (三、服务提供者demo_provider)
    spring cloud (二、服务注册安全demo_eureka)
    spring cloud (一、服务注册demo_eureka)
    maven里面pom文件的各标签介绍
    如何删除github里面的项目
    用过的工具列表及作用
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7267271.html
Copyright © 2020-2023  润新知