programing:linux-programing:linux-cpu-core-shield
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
programing:linux-programing:linux-cpu-core-shield [2022/10/21 15:43] – yoko | programing:linux-programing:linux-cpu-core-shield [2022/10/25 13:09] (現在) – [CPU Affinityの一覧表示] yoko | ||
---|---|---|---|
行 73: | 行 73: | ||
<code bash> | <code bash> | ||
$ cat / | $ cat / | ||
+ | CPU0 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ... | ||
</ | </ | ||
行 143: | 行 149: | ||
$ sudo ./ | $ sudo ./ | ||
</ | </ | ||
+ | |||
その他 | その他 | ||
----- | ----- | ||
- | 下記コマンドでCPUの負荷状況を確認できる。 | + | |
+ | ### CPUに負荷をかける | ||
+ | stressコマンドで、CPUのコア# | ||
+ | |||
+ | <code bash> | ||
+ | $ taskset -c 2 stress -c 1 | ||
+ | </ | ||
+ | |||
+ | ### CPU負荷状況の確認 | ||
+ | 下記コマンドでCPUの負荷状況を表示。 | ||
<code bash> | <code bash> | ||
行 163: | 行 179: | ||
| | ||
| | ||
- | | + | </ |
- | 12 | + | ### CPU Affinityの一覧表示 |
- | 13 | + | 全プロセスのCPU Affinityを一覧表示するPerlスクリプト。 |
+ | |||
+ | <code perl cpu_pslist.pl> | ||
+ | # | ||
+ | # | ||
+ | # CPU affinityの一覧を表示する。 | ||
+ | # | ||
+ | |||
+ | use strict; | ||
+ | use warnings; | ||
+ | |||
+ | my @result; | ||
+ | my $mode = 0; | ||
+ | |||
+ | if (@ARGV >= 1) { | ||
+ | if ($ARGV[0] eq " | ||
+ | $mode = 1; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if ($mode == 0) { | ||
+ | @result = `ps aux`; | ||
+ | } | ||
+ | else { | ||
+ | @result = `ps auxf`; | ||
+ | } | ||
+ | |||
+ | foreach my $line(@result) | ||
+ | { | ||
+ | my @a = split(/ | ||
+ | |||
+ | if ($a[1] eq " | ||
+ | print "AFFIN " . $line; | ||
+ | } | ||
+ | else { | ||
+ | my $affi = `taskset -pc $a[1] 2>& | ||
+ | if ($? == 0) { # コマンド実行のリターンコード | ||
+ | my @b = split(/ | ||
+ | my $str = sprintf(" | ||
+ | print $str . $line; | ||
+ | } | ||
+ | } | ||
+ | } | ||
</ | </ | ||
programing/linux-programing/linux-cpu-core-shield.txt · 最終更新: 2022/10/25 13:09 by yoko