2

組み込み Linux を実行するボックスの開発において、「top」を半永久的なインストルメンテーションとして使用する最良の方法を見つけようとしています。(インストルメンテーションは、最終テストおよび本番リリースから削除されます。)

私の最初のパスは、これを init.d に単純に追加することです。

top -b -d 15 >/tmp/toploop.out &

これは、15 秒ごとに「バッチ」モードで実行されます。/tmp に十分なスペースがあると仮定しましょう…</p>

質問:

  1. 汎用モニタリングに選択する値として 15 秒は適切ですか?
  2. ディスク容量以外に、これがシステムの状態をどれほど深刻に混乱させていますか?
  3. このように使用できる他の (おそらくより優れた) ツールはありますか?
4

7 に答える 7

5

collectdを見てください。これは、パフォーマンスのためにコード化された非常に軽量なシステム監視フレームワークです。

于 2008-10-08T18:54:02.983 に答える
2

このようなことを監視するに は、 sysstatを使用します。

于 2008-10-08T18:42:51.913 に答える
1

遅延があり、繰り返しカウンターがないvmstatとiostatの方が適している場合があります。

于 2008-10-08T18:32:17.410 に答える
1

実際に何が起こっているのかをリアルタイムで見たいのでなければ、15秒で十分だと思いますが、ここではそうではないようです。

ロードに関しては、Ubuntuを実行している768MBのRAMを搭載したアイドリングPIII 900Mhz(どのバージョンかはわかりませんが、1年以内)では、0.5秒ごとにトップアップデートがあり、CPU使用率は約2%です。15秒の更新で、0.1%のCPU使用率が見られます。

正確に何が必要かによって、uptime、free、およびpsの出力を使用して、すべてではないにしても、ほとんどのtopの情報を取得できます。

于 2008-10-08T18:33:29.093 に答える
1

全体的な負荷を求めている場合は、おそらく稼働時間で十分です。ただし、プロセスに関する特定の情報が必要な場合、冒険心があり、/proc ファイルシステムが有効になっている場合は、独自のツールを作成することをお勧めします。この環境の主な利点は、必要なことに正確に集中でき、システムにかかる負荷を最小限に抑えることができることです。

proc ファイル システムは、興味深い変数の多くを追跡するカーネル メモリへの読み取りアクセスをアプリケーションに提供します。/proc からの読み取りは、この情報を取得する最も簡単な方法の 1 つです。さらに、top が提供するよりも多くの情報を取得できる場合があります。私は過去にこれを行って、このプロセスでユーザーとシステムに費やされた時間を取得しました。さらに、これを使用して、プロセスによって開かれたファイル記述子の数に関する情報を取得できます。これを使用して、ネットワーク システムの動作に関する詳細情報を取得することもできます。

この情報の多くは、必要な情報を取得する場合に使用できる他のアプリケーションによって前処理されます。ただし、生の情報を読むのはかなり簡単です。詳細については、man procを実行してください。

于 2008-10-08T19:32:32.437 に答える
1

あなたが監視しているものを言っていないのは残念です。

  1. 15 秒でよいかどうかを判断する必要があります。必要に応じて、自由に低くしてください(そして高速な HDD を使用してください)。
  2. ソフト リアルタイム システムを実行していない限り、心配はいりません
  3. 他の回答で提案されているツールをご覧ください。「誰が HDD をスラッシングしているか」という質問に答えるために、「iotop」という別の提案を追加します。
于 2008-10-08T20:58:08.537 に答える
1

ストレス テスト中のシステム監視の作業では、nmonというツールを使用します。

nmon で気に入っているのは、XLS にエクスポートして美しいグラフを生成できることです。

以下の統計を生成します。

  • メモリ使用量
  • CPU使用率
  • ネットワークの使用
  • ディスク I/O

幸運を :)

于 2008-10-09T02:11:03.520 に答える