天天看點

為程序綁定CPU

taskset 是一個CPU 調節工具,能夠将系統任務配置設定至指定的CPU

本文以nodejs為例

第一步,查詢nodejs 程序

1

2

3

<code>pgrep node</code>

<code>19277</code>

<code>19283</code>

第二步,鎖定CPU

<code>taskset -pc 0 19277  (其中0代表CPU0,以此類推)</code>

<code>taskset -pc 1 19283</code>

第三步,搞定!

附一個小腳本,能自動綁定nodejs的程序,假設有四個node,CPU是四核的。

4

5

6

7

8

9

10

11

12

13

14

15

16

<code>#!/usr/bin/env bash</code>

<code>set</code> <code>-e</code>

<code>node_porcess=`pgrep node|</code><code>wc</code> <code>-l`</code>

<code>if</code> <code>[$node_process -</code><code>eq</code> <code>0 ];</code><code>then</code>

<code>  </code><code>echo</code> <code>“nodejs process not found”</code>

<code>  </code><code>exit</code> <code>1</code>

<code>else</code>

<code>  </code><code>node1=`pgrep node |</code><code>sort</code> <code>|</code><code>tr</code> <code>-s </code><code>"\n"</code> <code>" "</code><code>|</code><code>awk</code> <code>'{print $1}'</code><code>`</code>

<code>  </code><code>node2=`pgrep node |</code><code>sort</code> <code>|</code><code>tr</code> <code>-s </code><code>"\n"</code> <code>" "</code><code>|</code><code>awk</code> <code>'{print $2}'</code><code>`</code>

<code>  </code><code>node3=`pgrep node |</code><code>sort</code> <code>|</code><code>tr</code> <code>-s </code><code>"\n"</code> <code>" "</code><code>|</code><code>awk</code> <code>'{print $3}'</code><code>`</code>

<code>  </code><code>node4=`pgrep node |</code><code>sort</code> <code>|</code><code>tr</code> <code>-s </code><code>"\n"</code> <code>" "</code><code>|</code><code>awk</code> <code>'{print $4}'</code><code>`</code>

<code>  </code><code>taskset -pc 0 $node1</code>

<code>  </code><code>taskset -pc 1 $node2</code>

<code>  </code><code>taskset -pc 2 $node3</code>

<code>  </code><code>taskset -pc 3 $node4</code>

<code>fi</code>

本文轉自 紫色葡萄 51CTO部落格,原文連結:http://blog.51cto.com/purplegrape/1252197,如需轉載請自行聯系原作者

繼續閱讀