programing:linux-programing:linux-cpu-core-shield
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| programing:linux-programing:linux-cpu-core-shield [2022/10/21 07:06] – yoko | programing:linux-programing:linux-cpu-core-shield [2022/10/25 04:09] (現在) – [CPU Affinityの一覧表示] yoko | ||
|---|---|---|---|
| 行 179: | 行 179: | ||
| | | ||
| | | ||
| + | </ | ||
| + | ### CPU Affinityの一覧表示 | ||
| + | 全プロセスの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.1666335999.txt.gz · 最終更新: by yoko
