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,如需轉載請自行聯系原作者