すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Linux:SysAK の使用上の注意

最終更新日:Jun 26, 2025

System Analyse Kit(SysAK)は、Alibaba Cloud オペレーティングシステム向けに提供されているシステム O&M ツールキットであり、日常的なシステム監視、オンラインでの問題診断、システム障害からの復旧など、一般的な O&M シナリオに対応しています。このトピックでは、SysAK のインストール、デプロイ、および使用方法について説明します。

O&M シナリオ

SysAK は、Alibaba Cloud が数百万台のサーバーの運用と保守における長年の経験に基づいて開発しました。SysAK は、以下の一般的な O&M シナリオに適しています。

  • 日常的な監視: SysAK を使用すると、システムリソースの監視、ビジネスのスケジューリングと管理、およびビジネスリソースのよりきめ細かい制御を行うことができます。SysAK はまた、割り込みやジッターなど、システムの問題をリアルタイムで監視するための一連の強化されたシステムメトリクスを提供します。

  • 問題診断: SysAK は、異常な負荷、ネットワークジッター、メモリリーク、I/O ハング、パフォーマンスの例外などの問題をオンラインで診断できます。SysAK は、技術に苦労する人でも簡単に使用できます。

  • 障害からの復旧: SysAK は、デッドロックや故障などの部分的な障害からシステムを隔離し、復旧するための介入機能を提供します。

SysAK は、システムの負荷オーバーヘッドを増やすことも、ネットワークジッターを引き起こすこともありません。すべての SysAK ツールは、最大 3 % の CPU 使用率で同時に実行でき、各 SysAK ツールは最大 1 % の CPU 使用率で実行されます。

SysAK のインストール

環境要件

  • サポートされているオペレーティングシステム: カーネルバージョン 3.10 以降の Linux オペレーティングシステム(Alibaba Cloud Linux 2、Alibaba Cloud Linux 3、Anolis OS 8.4 ANCK、CentOS 7 など)。

    説明

    uname -a コマンドを実行して、Elastic Compute Service(ECS)インスタンスのオペレーティングシステムのカーネルバージョンを確認できます。

  • アーキテクチャ: x86_64。

インストールとデプロイ

オペレーティングシステム

インストール方法

Alibaba Cloud Linux 2

  • YUM リポジトリを使用して SysAK をインストールします。

    1. 次のコマンドを実行して、SysAK のバージョンを表示します。

      yum search sysak
    2. 次のコマンドを実行して、SysAK をインストールします。デフォルトでは、SysAK の最新バージョンがダウンロードされます。

      sudo yum install -y sysak
  • Alibaba Cloud YUM リポジトリが使用できない場合は、次の手順を実行して SysAK をインストールします。

    1. インスタンスのカーネルバージョンに対応する SysAK .rpm パッケージの最新バージョンをダウンロードします。

      コマンド例:

      wget https://mirrors.openanolis.cn/sysak/packages/sysak-1.3.0-2.x86_64.rpm
      説明

      オープンソースイメージサイト にアクセスして、インスタンスのカーネルバージョンに対応する最新バージョンの SysAK .rpm パッケージを入手できます。

    2. 次のコマンドを実行して、SysAK をインストールします。

      sudo rpm -ivh --nodeps <SysAK .rpm パッケージをインストールするパス>

      たとえば、rpm コマンドを実行して、デフォルトの root パスに SysAK をインストールできます。コマンド例:

      sudo rpm -ivh --nodeps sysak-1.3.0-2.x86_64.rpm

Anolis OS 8.4 ANCK

  1. インスタンスのカーネルバージョンに対応する SysAK .rpm パッケージの最新バージョンをダウンロードします。

    コマンド例:

    wget https://mirrors.openanolis.cn/sysak/packages/sysak-1.3.0-2.x86_64.rpm
    説明

    anolis / sysak にアクセスして、インスタンスのカーネルバージョンに対応する最新バージョンの SysAK .rpm パッケージを入手できます。

  2. 次のコマンドを実行して、SysAK をインストールします。

    sudo rpm -ivh --nodeps <SysAK .rpm パッケージをインストールするパス>

    たとえば、rpm コマンドを実行して、デフォルトの root パスに SysAK をインストールできます。コマンド例:

    sudo rpm -ivh --nodeps sysak-1.3.0-2.x86_64.rpm

CentOS 7 などのカーネルバージョン 3.10 以降の Linux オペレーティングシステム

オープンソースバージョンの SysAK をインストールするためにカスタムコードのみを実行できますが、カスタムコードは互換性の問題を引き起こす可能性があります。anolis / sysak にアクセスして、SysAK をインストールできます。

SysAK の使用

警告

SysAK は、ランタイム診断と監視のためにカーネルの関数をフックしますが、システムが不安定になる可能性があります。適切なメンテナンスウィンドウを選択して、診断コマンドと監視コマンドを実行してください。

使用方法

一般的なコマンド

説明

sysak help

SysAK の使用方法に関する情報を提供します。

使用方法: sysak [ cmd ] [ subcmd [ cmdargs ] ]

  • cmd: list や help など、SysAK がツールを管理するために使用するコマンドを示します。

  • subcmd: SysAK ツールの機能に関連するコマンドを示します。

  • cmdargs: SysAK ツールのコマンド引数を示します。

sysak list -a

SysAK ツールのサポートされているすべての機能を表示します。

sysak [subcmd] -h

SysAK ツールの機能の使用方法に関する情報を提供します。

SysAK の 2 つのモード

SysAK は、監視モードと診断モードをサポートしています。監視モードでは、SysAK はバックグラウンドでシステムを監視し、O&M 担当者向けにメトリクスを収集して追跡します。診断モードはいつでも有効にすることができ、システムの問題の根本原因を分析するために使用されます。詳細については、このトピックのSysAK のシステム監視機能セクションとSysAK の診断機能セクションをご参照ください。

SysAK のシステム監視機能

監視の有効化

次のいずれかの方法を使用して、SysAK がシステムメトリクスを監視できるようにします。

  • 次のコマンドを実行して、SysAK 監視機能を有効にします。

    sudo sysak mservice -S
  • 次のコマンドを実行して、SysAK 監視機能を常駐システムサービスに追加します。こうすることで、システム起動時に機能が自動的に有効になります。

    sudo systemctl enable sysak
    sudo systemctl start sysak

監視メトリクス

説明

拡張機能とは、SysAK 自体によって、または Alibaba Cloud Linux と Anolis OS の拡張カーネル機能によって実装される機能またはメトリクスを指します。

  • システムリソース

    メトリクスタイプ

    カテゴリとメトリクス

    説明

    拡張機能のプロバイダー

    コンピューティングリソース

    CPU

    user

    ユーザーモード CPU 使用率。

    なし

    sys

    システムモード CPU 使用率。

    hirq

    CPU がハードウェア割り込みを処理しているときの CPU 使用率。

    sirq

    CPU がソフトウェア割り込みを処理しているときの CPU 使用率。

    LOAD

    load*

    過去 1 秒、5 秒、または 15 秒におけるシステムの平均負荷。

    メモリリソース

    メモリ

    free

    使用されていないメモリ量。

    used

    使用されているメモリ量。

    buffer

    バッファーとして使用されているメモリ量。

    cache

    キャッシュとして使用されているメモリ量。

    total

    メモリ総量。

    mem.util

    メモリ使用率。

    swap

    swpin

    スワップインされたページ数。

    swapout

    スワップアウトされたページ数。

    total

    スワップページの総数。

    swap.util

    スワップ使用率。

    I/O リソース

    I/O アクセス

    rrqms

    デバイスに送信されたマージされた読み取りリクエスト数/秒。

    wrqms

    デバイスに送信されたマージされた書き込みリクエスト数/秒。

    rs

    デバイスに送信された読み取りリクエスト数/秒。

    ws

    デバイスに送信された書き込みリクエスト数/秒。

    rsecs

    デバイスから読み取られたセクター数/秒。

    wsecs

    デバイスに書き込まれたセクター数/秒。

    rqsize

    デバイスに送信されたリクエストの平均サイズ。

    qusize

    デバイスに送信されたリクエストの平均キューの長さ。

    svctm

    デバイスに送信された I/O リクエストの平均サービス時間。

    io.util

    リクエストが発行されている間の CPU 時間の割合。

    ディスク容量

    bfree

    使用されていないデータブロックの数。

    bused

    使用されているデータブロックの数。

    btotl

    データブロックの総数。

    patition.util

    データベースの使用率。

    ifree

    使用可能な inode の数。

    itotl

    inode の総数。

    iutil

    inode の使用率。

    ネットワークリソース

    ネットワークトラフィック

    bytin

    受信バイト数。

    bytout

    送信バイト数。

    pktin

    受信パケットの総数。

    pktout

    送信パケットの総数。

    TCP

    active

    アクティブな TCP 接続の数。

    pasive

    パッシブな TCP 接続の数。

    iseg

    受信 TCP パケットの数。

    outseg

    送信 TCP パケットの数。

    UDP

    idgm

    受信 UDP パケットの数。

    odgm

    送信 UDP パケットの数。

  • システムのボトルネック

    メトリクスタイプ

    カテゴリとメトリクス

    説明

    拡張機能のプロバイダー

    I/O ボトルネック

    読み取り/書き込みレイテンシ

    await

    I/O 操作の平均待ち時間。

    なし

    rawait

    I/O 読み取り操作の平均待ち時間。

    wawait

    I/O 書き込み操作の平均待ち時間。

    メモリボトルネック

    キャッシュの再利用とデフラグ

    kswapd

    Kernel Swap Daemon(kswapd)がページを再利用する回数。

    pg_kr

    非同期的に再利用されるページ数。

    pg_dr

    直接再利用されるページ数。

    kcompd

    kcompactd がメモリを圧縮する回数。

    dc_all

    メモリが直接圧縮される回数。

    dc_fin

    直接メモリ圧縮が完了する回数。

    oom

    メモリ不足(OOM)エラーの数。

    ネットワークボトルネック

    ネットワーク伝送

    pkterr

    エラーパケットの数。

    pktdrp

    ドロップされたパケットの数。

    EstReset

    TCP 接続が ESTABLISHED 状態のときにリセットが発生する回数。

    AtmpFail

    TCP 接続の確立に失敗した試行回数。

    retran

    TCP 再送信率。

    noport

    UDP ポートまたはアドレスが存在しない回数。

    idmerr

    無効な UDP パケットの数。

    CPU ボトルネック

    マルチタスク同時実行性

    cswch

    CPU リソースでコンテキストスイッチが実行される回数。

    proc

    fork システムコールの数。

    準備キューの延長待ち時間

    rqslow.dltnum

    準備キューでの消費時間がしきい値を超える回数。

    SysAK

    rqslow.dlttm

    準備キューでの消費時間がしきい値を超えたときに発生した合計レイテンシ。

    SysAK

    システムソフトウェアのボトルネック

    カーネル内のクリティカルリソースへのアクセス

    noschd.dltnum

    CPU がシステムモードで消費した時間がしきい値を超える回数。

    SysAK

    noschd.dlttm

    CPU がシステムモードで消費した時間がしきい値を超えたときに発生した合計レイテンシ。

    SysAK

  • システムの割り込み

    メトリクスタイプ

    カテゴリとメトリクス

    説明

    拡張機能のプロバイダー

    システムの割り込み

    長期間の割り込み無効化レイテンシ

    irqoff.dltnum

    システムの割り込み無効化期間がしきい値を超える回数。

    SysAK

    irqoff.dlttm

    システムの割り込み無効化期間がしきい値を超えたときに発生した合計レイテンシ。

    SysAK

  • コンテナシナリオ(コンテナごとのメトリクス)

    メトリクスタイプ

    カテゴリとメトリクス

    説明

    拡張機能のプロバイダー

    コンピューティングリソース

    CPU リソース

    usr/sys/hriq/sirq

    ユーザーモード、システムモード、CPU がハードウェア割り込みを処理しているとき、および CPU がソフトウェア割り込みを処理しているときの CPU 使用率。

    なし

    負荷情報

    nrun

    コンテナ内で準備ができているタスクの数。

    Alibaba Cloud Linux および Anolis OS

    nunint

    コンテナ内で D ブロック状態にあるタスクの数。

    load*

    過去 1 秒、5 秒、または 10 秒におけるコンテナの平均負荷。

    メモリリソース

    メモリリソース

    total/free/used/cache/buffer

    コンテナ内のメモリ総量、使用可能なメモリ量、使用済みメモリ量、キャッシュに使用されているメモリ量、およびバッファーに使用されているメモリ量。

    なし

    メモリボトルネック

    pgfault

    コンテナ内でページフォールトが発生する回数。

    pgmajfault

    ディスクスワップまたはファイルマッピングが原因でページフォールトが発生する回数。

    mfailcnt

    コンテナ内でメモリのリクエストに失敗した試行回数。

    drgl*

    グローバルメモリ再利用のレイテンシ分布。

    Alibaba Cloud Linux および Anolis OS

    drml*

    コンテナ内のメモリ再利用のレイテンシ分布。

    dcl*

    コンテナ内のメモリ圧縮のレイテンシ分布。

    I/O リソース

    I/O メトリクス

    riops

    コンテナ内の I/O 読み取り操作の数。

    なし

    wiops

    コンテナ内の I/O 書き込み操作の数。

    rbps

    コンテナから読み取られたバイト数。

    wbps

    コンテナに書き込まれたバイト数。

    rwait

    コンテナ内の読み取り操作の待ち時間。

    Alibaba Cloud Linux および Anolis OS

    wwait

    コンテナ内の書き込み操作の待ち時間。

    rsrv

    コンテナ内の読み取りサービス時間。

    wsrv

    コンテナ内の書き込みサービス時間。

    rioq

    コンテナ内でキューに入れられた I/O 読み取り操作の数。

    wioq

    コンテナ内でキューに入れられた I/O 書き込み操作の数。

    rioqsz

    コンテナ内でキューに入れられた I/O 操作で読み取られたバイト数。

    wioqsz

    コンテナ内でキューに入れられた I/O 操作に書き込まれたバイト数。

    rarqsz

    コンテナ内の I/O 操作で読み取られたバイト数の平均。

    warqsz

    コンテナ内の I/O 操作に書き込まれたバイト数の平均。

    ハードウェアリソース

    リソースボトルネック

    llcref

    コンテナ内で最終レベルキャッシュ(LLC)がアクセスされた回数。

    なし

    llcmis

    コンテナ内の LLC ミスの数。

    CPI

    コンテナ内の命令ごとのサイクル数。

サービス構成

SysAK の監視機能では、メトリクスの構成ファイルを使用して収集されたメトリクスを構成できます。構成ファイルは、/usr/local/sysak/sysakmon.conf パスに保存されます。構成ファイルを変更した後、systemctl restart sysak コマンドを実行して Mservice サービスを再起動する必要があります。

構成項目の説明:

  • server_mode http|local: 監視機能の監視モード。有効な値: http および local。http モードは、監視に HTTP サービスモードが使用されることを示します。local モードは、監視データがオンプレミスコンピューターに保存および表示されることを示します。

  • cron_period 60: ローカル監視モードでのサンプリング期間。デフォルト値: 60。単位: 秒。

  • output_file_path: ローカル監視モードで監視ログが保存されるパス。デフォルト値: /usr/local/sysak/log/tsar.data

  • mod_xxx on: メトリクスが監視されるかどうかを指定します。有効な値: on および off。on はメトリクスが監視されることを示し、off はメトリクスが監視されないことを示します。

データ表示

監視モード

監視結果を確認するために使用されるコマンド

説明

http モード

curl http://127.0.0.1:9200/metrics/raw/

説明

127.0.0.1 を監視対象の ECS インスタンスの IP アドレスに置き換えます。

システムの監視情報を取得します。

curl http://127.0.0.1:9200/metrics/cgroup/raw

説明

127.0.0.1 を監視対象の ECS インスタンスの IP アドレスに置き換えます。

cgroup の監視情報を取得します。

curl http://127.0.0.1:9200/metrics/cgroup/$cgroupid/raw

説明

127.0.0.1 を監視対象の ECS インスタンスの IP アドレスに置き換えます。

指定された cgroup($cgroupid)の監視情報を取得します。

local モード

sysak mservice -l

インタラクティブな方法で監視情報を表示します。

SysAK の診断機能

ユーザーシナリオベースの診断

コマンドタイプ

機能

コマンドと説明

ossre_client

システム内の潜在的な問題を自動的にスキャンします。

sysak ossre_client [ -a ] [ -p ] [ -i ]

  • -a: システム全体をスキャンします。

  • -p: システム内のパニックイベントのみをスキャンします。

  • -i: 既知の問題のみをスキャンします。

一部のオプションは ossre サーバーで使用できます。

loadtask

システム負荷の診断を実行し、負荷が最も高いプロセスと、負荷が最も高い原因を返します。

sysak loadtask [ -m maxload ] [ -i interval ] [ -f outfile ] [ -d ] [ -s ]

  • -m: 負荷のしきい値を設定します。しきい値を超えると、システム負荷が自動的に診断されます。このオプションが指定されていない場合、システムはすぐに診断されます。

  • -i: システム負荷が監視されるときのスキャン間隔を設定します。単位: 秒。

  • -f: 出力情報を保存するファイルを指定します。デフォルト値: /var/log/sysak/loadtask.log

  • -d:

    • 監視モードでは、このオプションが構成されている場合、maxload 値を超える値のすべての情報が保存されます。

    • 監視モードでは、このオプションが構成されていない場合、SysAK は maxload 値を超える値が最初に検出されると監視モードを終了します。

  • -s: コンソールに負荷の概要を表示します。

  • -g: システム全体のフレームグラフを生成します。

iosdiag

I/O ステータスの診断を実行します。

sysak iosdiag [ options ] subcmd [ cmdargs ]

  • options

    • -u url: URL を指定します。診断ログは curl コマンドを実行することでパッケージ化され、URL にアップロードされます。URL が指定されていない場合、ログはアップロードされません。

    • -s latency/hangdetect: 診断を停止します。

  • subcmd

    • latency: I/O レイテンシの診断を有効にします。

    • hangdetect: I/O ハングの診断を有効にします。

  • cmdargs

    -h: サブコマンドの機能でサポートされているパラメーターを表示します。このオプションはサブコマンドの後に続きます。

内部項目固有の診断

  • スケジューリング

    コマンドタイプ

    機能

    コマンドと説明

    nosched

    CPU が長時間カーネルモードで実行されている場合、タスクを CPU で実行するためにタイムリーにスケジュールできない問題を診断します。

    sysak nosched [--help] [-t THRESH(ms)] [-f LOGFILE] [-s duration(s)]

    • -t THRESH: (オプション) カーネルがタスクをスケジュールしない期間のしきい値を設定します。しきい値を超えると、関連情報が記録されます。単位: ミリ秒。デフォルト値: 10。

    • -f LOGFILE: (オプション) ログファイルを指定します。デフォルト値: /var/log/sysak/nosched/nosched.log

    • -s durations: (オプション) プログラムを実行できる時間を指定します。単位: 秒。このオプションが指定されていない場合、プログラムは実行を続けます。

    irqoff

    システム内で割り込みが長時間無効になっている問題を診断します。

    sysak irqoff [--help] [-t THRESH(ms)] [-f LOGFILE] [duration(s)]

    • -t THRESH: (オプション) 割り込みが無効になっている期間のしきい値を設定します。しきい値を超えると、関連情報が記録されます。単位: ミリ秒。デフォルト値: 10。

    • -f LOGFILE: (オプション) ログファイルを指定します。デフォルト値: /var/log/sysak/irqoff/irqoff.log

    • durations: (オプション) プログラムを実行できる時間を指定します。単位: 秒。このオプションが指定されていない場合、プログラムは実行を続けます。

    runqslower

    システム内のタスクスケジューリングレイテンシが高い問題を診断します。

    sysak runqslower [-s SPAN] [-t TID] [-f LOGFILE] [-P] [THRESH]

    • -s SPAN: (オプション) プログラムを実行できる時間を指定します。単位: 秒。このオプションが指定されていない場合、プログラムは実行を続けます。

    • THRESH: (オプション) タスクがプリエンプトされる期間のしきい値を設定します。しきい値を超えると、関連情報が記録されます。単位: ミリ秒。デフォルト値: 20。

    • -f LOGFILE: (オプション) ログファイルを指定します。デフォルト値: /var/log/sysak/runqslow/runqslow.log

    • -t TID: (オプション) 監視対象のスレッドの ID を指定します。これはフィルターオプションです。デフォルトでは、すべてのスレッドが監視されます。

    • -P: (オプション) 以前にプリエンプトされたタスクの名前とスレッド ID (TID) を記録します。デフォルトでは、そのような情報は記録されません。

  • メモリ

    コマンドタイプ

    機能

    コマンドと説明

    memleak

    カーネルメモリリーク (slab メモリリーク、vmalloc メモリリーク、buddy メモリリークを含む) をチェックし、リークが発生している場所を特定します。

    sysak memleak [-t type] [-i internal] [-c]

    • -t: メモリリークのタイプを指定します。次のタイプのメモリリークが使用可能です。

      • slab

      • vmalloc

      • page

    • -i: 診断期間を指定します。デフォルト値: 300。単位: 秒。

    • -c: クイック診断を実行するかどうかを指定します。このオプションが指定されている場合、メモリがリークしているかどうかを判断するためにクイック診断が実行されますが、メモリリークが発生している正確な場所は特定されません。

    mmaptrace

    メモリリークが発生している場所を特定し、ユーザーモードでメモリをリクエストするための呼び出しスタックを提供します。

    sysak mmaptrace [ option ] [ args ]

    • -p <pid>: プロセスがメモリをどのようにリクエストするかを監視するプロセスの ID (PID) を指定します。

    • -l: malloc および mmap によってリクエストされたメモリサイズを監視します。

    • -s: ユーザーモードでメモリをリクエストするための呼び出しスタックを表示します。

    memgraph

    グラフを使用してメモリ使用量を分析して表示します。

    sysak memgraph [ option ]

    • -g: メモリ使用量チャートを表示します。

    • -f: ページキャッシュの詳細情報を表示します。

    • -a: 匿名メモリの詳細情報を表示します。

    • -k: メモリがリークしているかどうかを確認します。

    • -l: システムスレッドのメモリ使用量を表示します。

    • -c: システム cgroup のメモリ使用量を表示します。

  • I/O

    コマンドタイプ

    機能

    コマンドと説明

    iofsstat

    プロセスとファイルの粒度でディスク I/O 情報を収集します。

    sysak iofsstat [-h] [-T TIMEOUT] [-t TOP] [-u UTIL_THRESH] [-b BW_THRESH] [-i IOPS_THRESH] [-c CYCLE] [-d DEVICE] [-p PID] [-j] [-f]

    • -T TIMEOUT: コマンドを実行できる時間を指定します。単位: 秒。

    • -t TOP: I/O リソースの使用量が最大のディスクをいくつ表示するかを指定します。

    • -u UTIL_THRESH: I/O 使用率のしきい値を設定します。I/O 使用率がしきい値よりも低いディスクは無視されます。

    • -b BW_THRESH: 帯域幅のしきい値を設定します。帯域幅がしきい値よりも低いディスクは無視されます。

    • -i IOPS_THRESH: IOPS のしきい値を設定します。IOPS がしきい値よりも低いディスクは無視されます。

    • -c CYCLE: 更新間隔を指定します。単位: 秒。

    • -d DEVICE: 監視対象のディスクの名前を指定します。

    • -p PID: 監視対象のプロセスの ID を指定します。

    • -j,--json: コマンド出力を JSON 形式で表示します。

    • -f,--fs: 指定されたパーティションの情報を監視して報告します。

  • ネットワーク

    コマンドタイプ

    機能

    コマンドと説明

    pingtrace

    ネットワークレイテンシを検出します。

    sysak pingtrace [ options ]

    • -v,--version: バージョン番号を表示します。

    • -h,--help: ヘルプ情報を返します。

    • -s,--server: サーバーモードで実行します。

    • -c,--client ip: クライアントモードで実行します。

    • -C,--count UINT: プローブパケットの数を表示します。デフォルトでは、パケット数は無制限です。

    • -i <interval_us>: パケットを送信する間隔を設定します。単位: マイクロ秒。

    • -t < UINT >: プログラムを実行できる時間を指定します。単位: 秒。

    • -m,--maxdelay us: ping レイテンシのしきい値を設定します。レイテンシがしきい値よりも高いパケットのみが記録されます。デフォルト値: 0。

    • -b <INT=556 >: プローブパケットのサイズを指定します。値は 144 よりも大きくする必要があります。単位: バイト。

    • --log TEXT=./pingtrace.log: ログファイルの名前を指定します。

    • --logsize INT: ログファイルで使用できる最大容量を指定します。

    • --logbackup INT=3: ログファイルに作成できるバックアップの最大数を指定します。

    • --mode auto/pingpong/compact: PingTrace の実行モードを指定します。

    • -o,--output image/json/log/imagelog: PingTrace データの出力形式を指定します。

    • -n,--namespace: net namespace 情報を確認します。

    • --nslocal: net namespace 情報が確認されるときに、PingTrace クライアントとサーバーを同じホストで実行して、冗長データの取得を防ぎます。

    • --userid UINT: net namespace 情報が確認されるときに、異なるホストに異なるユーザー ID を指定します。これにより、PingTrace は異なるホスト上の時間同期の問題を特定して解決できます。

    • --debug: libbpf 情報などの関連するデバッグ情報を表示します。

    skcheck

    TCP およびソケットのリークをチェックします。

    sysak skcheck [ options ] [ cmdargs ]

    • -s: リーク検出を有効にします。

    • -i: ソケットを有効にするためのしきい値を設定します。デフォルト値:2000。

    • -l: ソケットを無効にするしきい値を設定します。デフォルト値:500。

  • パフォーマンス

    コマンドタイプ

    機能

    コマンドと説明

    numa_access

    指定された PID を持つプロセスの情報と、CPU の Non-Uniform Memory Access(NUMA)情報を表示します。

    sysak numa_access [ options ] [ cmdargs ]

    • -p <pid>: PID を指定します。

    • -c <cpu>: CPU を指定します。

    • -i <time>: 情報を表示する間隔を設定します。

    hw_event

    Docker ハードウェアイベントの情報を表示します。

    sysak hw_event [ options ] [ cmdargs ]

    • -c <name>: Docker の名前を指定します。このオプションを指定しない場合、デフォルトですべての Docker のハードウェアイベントが表示されます。

    • -s <time>: 実行期間を設定します。デフォルト値:5。単位:秒。

  • 仮想化

    コマンドタイプ

    機能

    コマンドと説明

    kvmexittime

    VM-exit イベントをトレースおよび診断します。

    sysak kvmexittime [--help] [-p PID] [-t TID] [interval]

    • -p <PID>: PID を指定します。

    • -t <TID>: TID を指定します。

    • interval: VM-exit イベントをトレースおよび分析するための間隔を設定します。

    • --help: ヘルプ情報を返します。

  • 汎用

    コマンドタイプ

    機能

    コマンドと説明

    syscall_slow

    システムの呼び出し応答が遅い場合に、アプリケーションスレッド間のロックの競合を自動的に分析します。

    sysak syscall_slow [-t THRESH(ms)] [-n sys_NR] <[-c COMM] [-p tid]> [-f LOGFILE][duration(s)]

    • -t: (オプション) システム応答時間のしきい値を設定します。しきい値を超えた場合は、関連情報が記録されます。デフォルト値:10。単位:ミリ秒。

    • -n: (オプション) 指定されたシステム呼び出しをチェックします。デフォルトでは、すべてのシステム呼び出しがチェックされます。

    • -c/-p: タスク名または PID を指定します。タスク名と PID の両方を指定することはできません。このオプションは必須です。

    • -f: (オプション) ログファイルを指定します。デフォルト値:/var/log/sysak/syscall_slow/syscall_slow.log

    • durations: (オプション) プログラムの実行時間を指定します。単位:秒。このオプションが指定されていない場合、プログラムは実行を継続します。

    ulockcheck

    アプリケーションスレッド間のロックの競合を自動的に分析します。

    sysak ulockcheck -p <pid> | -s <thread pid>| -a | -t <0|1> | -d

    • -p: 指定されたプロセスのスレッド間のロック競合を監視します。

    • -a: 現在のロック所有者と上位 5 つのロック要求者を表示します。

    • -s: 監視対象スレッドのロック競合状態を表示します。

    • -t: 出力を有効にします。スレッドが 100 ミリ秒を超えてロックを待機している場合、ユーザーモードのスレッドの呼び出しスタックが表示されます。

    • -d: 監視を無効にします。

    cpuirq

    CPU の割り込みバインディングと実行状態を表示します。

    sysak cpuirq [-c cpu -b ] [ -t [ -i interval ] ]

    • -c: CPU を指定します。

    • -b: 指定された CPU の割り込みバインディング情報を表示します。

    • -t: 特定の期間に最も割り込みが多いリクエストを表示します。

    • -i: データ収集の間隔を設定します。

    softirq

    システム内のソフト割り込みの実行状態 (数やレートなど) を記録します。

    sysak softirq [ option ] [ args ]

    • -s: 初期データを含むソースファイルを指定します。

    • -r: 出力を格納するファイルを指定します。