コマンド、プログラムを実行するCPUコアを任意に割り当てる『taskset』コマンド
Pocket

近年のCPUは、大体がマルチコアとなっているが、コマンドやプログラムを特定のコアで実行したい場合に使えるのが『taskset』コマンドだ。
よく使われるCentOSやUbuntuのようなディストリビューションであればデフォルトで用意されているコマンドになる。

まずはヘルプの内容から。

Sponsored Links

$ taskset --help
Usage: taskset [options] [mask | cpu-list] [pid|cmd [args...]]

Options:
 -a, --all-tasks         operate on all the tasks (threads) for a given pid
 -p, --pid               operate on existing given pid
 -c, --cpu-list          display and specify cpus in list format
 -h, --help              display this help
 -V, --version           output version information

The default behavior is to run a new command:
    taskset 03 sshd -b 1024
You can retrieve the mask of an existing task:
    taskset -p 700
Or set it:
    taskset -p 03 700
List format uses a comma-separated list instead of a mask:
    taskset -pc 0,3,7-11 700
Ranges in list format can take a stride argument:
    e.g. 0-31:2 is equivalent to mask 0x55555555

For more information see taskset(1).

さて、それでは実際に使ってみよう。
CPUのコア0で、lsコマンドを実行してみよう。

コアを指定するのは、「-c」オプションで行える。

$ taskset -c 0 ls -la

このように、引数としてコマンドを渡すことでCPUのコアを指定してコマンドの実行が可能だ。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

This article has 1 comments

  1. Pingback: 【コンピューター】 色彩理論の基礎に学ぶ、相性抜群な「色の組み合わせ」 | ライフハッカー[日本版] 2014年08月18日 深夜便 | aquadrops * news

Leave a Comment

メールアドレスが公開されることはありません。