最近、サーバー上の接続ユーザーごとの RAM 使用量を確認したいのですが、方法が見つかりません。何か方法を提案してください。
答え1
いかがでしょうか
ps aux | grep $USER | awk '{memory +=$4}; END {print memory }'
ps aux
: BSD 構文を使用してシステム上のすべてのプロセスを表示します。$USER
は現在のユーザーです。他のユーザーが必要な場合は実際の名前に変更してください。
さて、魔法の部分です:
- awk は、memory という変数を作成し、出力の列 4 を追加し
ps auxU $USER
、終了時に計算された量を出力します。
追加: グラフィカルな方法。
smem は、Linux システムのメモリ使用量に関するさまざまなレポートを提供できるツールです。既存のツールとは異なり、smem は比例セット サイズ (PSS) をレポートできます。これは、仮想メモリ システム内のライブラリとアプリケーションによって使用されるメモリの量をよりわかりやすく表すものです。
通常、物理メモリの大部分は複数のアプリケーション間で共有されるため、常駐セット サイズ (RSS) と呼ばれるメモリ使用量の標準的な測定方法では、メモリ使用量が大幅に過大評価されます。代わりに、PSS では、各共有領域の各アプリケーションの「公平なシェア」を測定して、現実的な測定値を提供します。
smem には多くの機能があります:
システム概要リスト、プロセス、マッピング、ユーザー別のリスト、プロセス、マッピング、またはユーザーによるフィルタリング、複数のデータ ソースからの構成可能な列、構成可能な出力単位とパーセンテージ、構成可能なヘッダーと合計、/proc からのライブ データの読み取り、ディレクトリ ミラーまたは圧縮された tarball からのデータのスナップショットの読み取り、組み込みシステム用の軽量キャプチャ ツール、組み込みのチャート生成。smem にはいくつかの要件があります。
- 比較的新しいカーネル(2.6.27 以降)
- 比較的新しいバージョンの Python (2.4 程度)
- チャート生成用の matplotlib ライブラリ (オプション、自動検出)
smemの使用
- ユーザー指向のビューを表示:
smem -u
(詳細はリンクを参照)'
インストール: