システムコールのみを使用してプロセスアクティビティを監視する(「top」などのユーティリティは使用しない)

システムコールのみを使用してプロセスアクティビティを監視する(「top」などのユーティリティは使用しない)

Linuxシステムコールを使用して、さまざまなユーザーが使用するメモリと、ユーザーが実行するさまざまなプロセスに関する情報だけでなく、メモリ消費、実行速度などのこれらのプロセスに関する統計を取得したいと思います。

のようなコマンドを使用したくありませんfreetop誰でもこれを行う方法を提案できますか?

ベストアンサー1

メモリの使用方法を理解することが重要です。通常、メモリの大部分が共有されます。プログラムとそのライブラリで使用されるすべてのコードは、異なるプロセス間で共有されます。コードは読み取り専用メモリにマップされ、すべてのプロセスで共有されるため、いずれのユーザーにも属しません。一部のライブラリはlibcほとんどすべてのプロセスで使用されますが、RAMには一度だけロードされます。コードの多いプログラムは、データの多いプログラムよりも共有メモリが多くなります。

あなたの質問に答えると、top、free、psなどのプログラムから得られたほとんどすべての情報は、/procファイルシステムを検索して得られます。各プロセスには、そのPIDという名前の独自のフォルダがあります。メモリマッピングを示すマップ、プロセスを開始して実行されるコマンドを示すcomm、I / O使用量を示すioなど、多くのファイルがあります。/proc中に紹介があります。Linuxカーネルドキュメント

おすすめ記事