検索

39.3. SystemTap でのネットワークパケットドロップの監視

download PDF

Linux のネットワークスタックは、様々な理由でパケットを破棄する場合があります。一部の Linux カーネルには、パケットが破棄される場所を追跡するトレースポイント kernel.trace ("kfree_skb") が組み込まれています。

dropwatch.stp SystemTap スクリプトは、kernel.trace("kfree_skb") を使用してパケットの破棄を追跡します。スクリプトは、5 秒間隔でパケットを破棄する場所を要約します。

前提条件

手順

  • dropwatch.stp スクリプトを実行します。

    # stap  --example dropwatch.stp

    dropwatch.stp スクリプトを 15 秒間実行すると、以下のような出力になります。

    Monitoring for dropped packets
    51 packets dropped at location 0xffffffff8024cd0f
    2 packets dropped at location 0xffffffff8044b472
    51 packets dropped at location 0xffffffff8024cd0f
    1 packets dropped at location 0xffffffff8044b472
    97 packets dropped at location 0xffffffff8024cd0f
    1 packets dropped at location 0xffffffff8044b472
    Stopping dropped packet monitor
    注記

    パケットドロップの場所をより意味のあるものにするには、/boot/System.map-$(uname -r) を参照してください。このファイルは、各関数の開始アドレスのリストを表示し、dropwatch.stp スクリプトの出力内のアドレスを特定の関数名にマップできるようにします。/boot/System.map-$(uname -r) ファイルの以下のようなスニペットの場合、アドレス 0xffffffff8024cd0f は関数 unix_stream_recvmsg に、アドレス 0xffffffff8044b472 は関数 arp_rcv にマッピングされます。

    [...]
    ffffffff8024c5cd T unlock_new_inode
    ffffffff8024c5da t unix_stream_sendmsg
    ffffffff8024c920 t unix_stream_recvmsg
    ffffffff8024cea1 t udp_v4_lookup_longway
    [...]
    ffffffff8044addc t arp_process
    ffffffff8044b360 t arp_rcv
    ffffffff8044b487 t parp_redo
    ffffffff8044b48c t arp_solicit
    [...]
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.