ネットワーク – Linux の帯域幅のほとんどを使用してどのようなアプリケーションを見つける方法はありますか?

bandwidth linux monitoring networking
クローズドです。この質問はオフトピックです。現在は回答を受け付けていません。

この質問を改善したいですか? スーパーユーザーのためのon-topicになるように質問を更新してください。

クローズド 2年前

この質問を改善してください

各プロセスがどれくらいの帯域幅を使っているかを表示してくれるユーティリティを探しています。それは単にデータを印刷して終了する必要があり、私はそのリストをconkyにフィードしたいので

  57  vava  2009-08-31


ベストアンサー

NetHogsを試してみてください

NetHogsは小さな「ネットトップ」ツールです。プロトコルごと、またはサブネットごとにトラフィックを分解する代わりに、ほとんどのツールのように、プロセスごとに帯域幅をグループ化します。NetHogsは特別なカーネルモジュールをロードする必要はありません。突然多くのネットワークトラフィックが発生した場合、NetHogsを起動してどのPIDが原因なのかをすぐに確認することができます。これは、野生になっていると突然あなたの帯域幅を取っているプログラムを特定することが容易になります

NetHogs_Screenshot

71  Milde  2009-08-31


かなりの数が記載されています こちら

しかし、私のお気に入りはiftoptcpdumpのままです。Wiresharkも非常に良い選択肢です

6  BinaryMisfit  2009-08-31


atop を試してみてください … それを最大限に活用するには、いくつかの追加のカーネルパッチ (I/O アカウンティングパッチ) を有効にする必要があるかもしれません

atop がオプションでない場合は、(root として)netstat -anp --inet を使って、どのプロセスでどの TCP/UDP ポートが使われているかのリストを提供してください (あるいは、lsof を使うこともできます)。そこからは、開いているソケットを持つ各プロセスを繰り返し処理し、ltrace -Sまたはstraceを使ってそのソケットにアタッチして読み込み、書き込み、送信、受信を見るか、tcpdumpを使ってローカルIPアドレスとTCP/UDPポートのリストを指定してフィルタをかけてください

atopは確かにこれらの中で最も便利です… 必要なカーネルサポートがインストールされていれば。過去に私は顧客や雇用主に、atopを使ったI/Oプロファイリングをサポートするためだけの特別なシステムを(プロダクションイメージとは別の)セットアップしてもらったことがあります。しかし、これらの他のテクニックを使うことで、あなたはそこにたどり着くことができます

SystemTapを使っても何かできるのではないかと思うのですが・・・簡単に調理済みのレシピがあるのを知りません。SystemTapはプログラミングの解析ツールとしてはかなりのものです

5  Jim Dennis  2009-09-01


タイトルとURLをコピーしました