タグ

LInuxとCPUに関するatm_09_tdのブックマーク (6)

  • LinuxのCPU使用率の%stealについて - Qiita

    はじめに Linux で採取できるCPU使用量(率)の情報として、%user や %sys 等に加えて %steal という量がある。これが追加されたのは、仮想化が広く使われはじめた10年くらい前だろうか。筆者は Xen を調べていて気づいたのだが、もっと前にs390のために追加されたのかもしれない。当時、ESXの場合も含めて調べていたのだが、最近、KVMの場合にどういう実装になっているのか、ふと気になって軽く調べてみたのでメモ。 CPU使用率の計算 まず最初に、sar や vmstat や mpstat 等、さまざまなツールでCPU使用率を取得することができるわけだが、どのような情報を元に、どのような計算を行って算出しているのか? まず、kernel内ではboot以後の各種実行モードのCPU時間を分類して積算値として保持している。user モード、特権モード、割り込み処理に使った時間..

    LinuxのCPU使用率の%stealについて - Qiita
  • Linuxサーバに搭載されているCPUコア数の確認 - 元RX-7乗りの適当な日々

    この前、若手に聞かれたので、ここにも書いておく。 好みでは有るが、可能な限り数字のみで標準出力に出せるようにしておくと、スクリプトの中などで並列実行数を動的に定義しやすい。 ちなみに下記の前提は、CentOS 6.6 & 56コア(!)のサーバで確認している。 nproc # nproc 56一番簡単なやつ。 getconf # getconf _NPROCESSORS_ONLN 56getconfでも拾える。 /proc/cpuinfo # cat /proc/cpuinfo | grep -c "processor" 56皆さん、ご存知の通り、 /proc/cpuinfo は多くのCPU情報を取得することが出来る。 余談だけど、 /proc/cpuinfo に含まれる"physical id"はどの物理ソケットか、とか、"core id"を見ると物理コア(HT関連などで論理コアの紐付き

    Linuxサーバに搭載されているCPUコア数の確認 - 元RX-7乗りの適当な日々
  • コマンド、プログラムを実行するCPUコアを任意に割り当てる『taskset』コマンド | 俺的備忘録 〜なんかいろいろ〜

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

  • run キューで待たされた時間は CPU Time にはカウントされない - ablog

    門外不出のOracle現場ワザ (DB Magazine SELECTION) 作者: 五十嵐建平,大塚信男,小田圭二,鈴木博貴,村方仁出版社/メーカー: 翔泳社発売日: 2005/06/17メディア: 単行購入: 3人 クリック: 33回この商品を含むブログ (19件) を見る P.54 Elapsed time と CPU Time の差分は、OS の run キューで待たされた時間を表します。 Linux の場合、実行可能状態のタスクがCPUを使っているか run キューで待たされているか区別されていないと思うので、run キュー待ちが長くなると CPU Time が長くなる気がする。OSの実装を意識して考えないといけないですね。 と思ったが、定期的に割込みが入り、コア単位でチェックしたときにその瞬間どのプロセスがCPUを使っていたかチェックしてそのプロセスにだけCPU時間を加算し

    run キューで待たされた時間は CPU Time にはカウントされない - ablog
  • LinuxでCPUの動的クロック変更を無効にする方法 | Carpe Diem

    最近のLinuxでは、自動的にCPUの動的クロック変更が有効になっています。トラフィックの激しいサービスを受けるサーバーの場合、無効にしたかったので、その方法を調べてみました。エコでなくてすいません・・・。 まず、Ubuntu 12.10 amd64 では、次のとおりです。 1. cpufrequtils パッケージをインストールします $ sudo apt-get install cpufrequtils 2. 現在の状態を確認します $ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ondemand ... ondemand という表示が CPU コア数分表示されている場合、CPU の動的クロック変更が有効になっています。 ついでに現在のクロック数を確認します $ cat /sys/devices/system/cp

  • マルチコア時代のロードアベレージの見方 - naoyaのはてなダイアリー

    ちょっと煽り気味のタイトルですが、CPU がマルチコアになり 2個、4個と増えていく中 Linux の負荷の指針になるロードアベレージをどう読むべきか、という話です。気になったところを少し調べたのでそのまとめを。 http://d.hatena.ne.jp/naoya/20070222/1172116665 でも書いたとおり、Linux のロードアベレージは「ロードアベレージは過去1分、5分、15分の間の実行待ちプロセス数の平均数 = 実行したくても他のプロセスが実行中で実行できないプロセスが平均で何個ぐらい存在してるか」を示す値です。ボトルネックが CPU、メモリ、ディスク等々どこにあるかは関係なく、仕事の実行までにどれぐらい待たされているかを示す値なので、システムのスループットを計測する指標の入り口になる値です。 このロードアベレージですが、実装を見るとランキュー(待ち行列)に溜まった

    マルチコア時代のロードアベレージの見方 - naoyaのはてなダイアリー
  • 1