新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


programing:linux-programing:linux-cpu-core-shield


差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
programing:linux-programing:linux-cpu-core-shield [2022/10/21 15:44] – [その他] yokoprograming:linux-programing:linux-cpu-core-shield [2022/10/25 13:09] (現在) – [CPU Affinityの一覧表示] yoko
行 73: 行 73:
 <code bash> <code bash>
 $ cat /proc/interrupts $ cat /proc/interrupts
 +            CPU0       CPU1       CPU2       CPU3
 +   0:         17          0          0          0  IR-IO-APIC    2-edge      timer
 +   6:          0          0          0          1  IR-IO-APIC    6-edge      ttyS2
 +   8:          0          0          1          0  IR-IO-APIC    8-edge      rtc0
 +   9:          0          5          0          0  IR-IO-APIC    9-fasteoi   acpi
 + ...
 </code> </code>
  
行 143: 行 149:
 $ sudo ./irq_shield.pl enp1s0 set $ sudo ./irq_shield.pl enp1s0 set
 </code> </code>
 +
 +
 その他 その他
 ----- -----
-下記コマンドでCPUの負荷状況確認できる+ 
 +### CPUに負荷をかける 
 +stressコマンドでCPUのコア#2に演算負荷をかける。 
 + 
 +<code bash> 
 +$ taskset -c 2 stress -c 1 
 +</code> 
 + 
 +### CPU負荷状況確認 
 +下記コマンドCPUの負荷状況を表示
  
 <code bash> <code bash>
行 162: 行 179:
  10    85     0:  6    94     0:100         0:  0    99     0  10    85     0:  6    94     0:100         0:  0    99     0
  10    83     0:  4    96     0:100         0:  0   0 100     0  10    83     0:  4    96     0:100         0:  0   0 100     0
 +</code>
 +### CPU Affinityの一覧表示
 +全プロセスのCPU Affinityを一覧表示するPerlスクリプト。
 +
 +<code perl cpu_pslist.pl>
 +#!/usr/bin/perl
 +#
 +# CPU affinityの一覧を表示する。
 +#
 +
 +use strict;
 +use warnings;
 +
 +my @result;
 +my $mode = 0;
 +
 +if (@ARGV >= 1) {
 +    if ($ARGV[0] eq "tree") {
 + $mode = 1;
 +    }
 +}
 +
 +if ($mode == 0) {
 +    @result = `ps aux`;
 +}
 +else {
 +    @result = `ps auxf`;
 +}
 +
 +foreach my $line(@result)
 +{
 +    my @a = split(/\s+/, $line); # 複数の空白や改行でで分割
 +
 +    if ($a[1] eq "PID") {
 + print "AFFIN " . $line;
 +    }
 +    else {
 + my $affi = `taskset -pc $a[1] 2>&1`; # エラー出力は標準へ
 + if ($? == 0) { # コマンド実行のリターンコード
 +     my @b = split(/\s+/, $affi); # 複数の空白や改行で分割
 +     my $str = sprintf("%-6s", $b[$#b]); # CPU affinity
 +     print $str . $line;
 + }
 +    }
 +}
 </code> </code>
  
programing/linux-programing/linux-cpu-core-shield.1666334674.txt.gz · 最終更新: 2022/10/21 15:44 by yoko