ターミナル上でメモリの占有率をプロセスごとにわかりやすく可視化する「pagemon」

メモリの占有率を、プロセス別に見た目にもわかりやすく表示させたいことがあるが、そんなときに使えそうなのがこの「pagemon」だ。
Canonical製のツールらしく、主にUbuntuで利用することが想定されているプログラムなのだが、どのプロセスがどのメモリ空間を専有しているのか、バイナリエディタのようにターミナル上に表示してくれるツールだ。

今回は、実際にUbuntu Server 16.04 LTSにこのツールを導入し、ターミナル上に表示させてみる。

1.インストール

以下のコマンドでapt-getでリポジトリを導入し、pagemonをインストールする。

bash
sudo add-apt-repository ppa:colin-king/pagemon sudo apt-get update sudo apt-get install pagemon
shell
lacknon@BS-PUB-DEVELOP:~$ sudo add-apt-repository ppa:colin-king/pagemon [sudo] blacknon のパスワード: Page monitoring tool 詳しい情報: https://launchpad.net/~colin-king/+archive/ubuntu/pagemon [ENTER] を押すと続行します。ctrl-c で追加をキャンセルできます gpg: 鍵リング「/tmp/tmp6pevev0e/secring.gpg」ができました gpg: 鍵リング「/tmp/tmp6pevev0e/pubring.gpg」ができました gpg: 鍵B0F01786をhkpからサーバkeyserver.ubuntu.comに要求 gpg: /tmp/tmp6pevev0e/trustdb.gpg: 信用データベースができました gpg: 鍵B0F01786: 公開鍵"Launchpad PPA for Colin King"をインポートしました gpg: 処理数の合計: 1 gpg: インポート: 1 (RSA: 1) OK blacknon@BS-PUB-DEVELOP:~$ sudo apt-get update ヒット:1 http://jp.archive.ubuntu.com/ubuntu xenial InRelease ヒット:2 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease ヒット:3 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease 取得:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [93.3 kB] 取得:5 http://ppa.launchpad.net/colin-king/pagemon/ubuntu xenial InRelease [17.6 kB] 取得:6 http://ppa.launchpad.net/colin-king/pagemon/ubuntu xenial/main amd64 Packages [438 B] 取得:7 http://ppa.launchpad.net/colin-king/pagemon/ubuntu xenial/main i386 Packages [439 B] 取得:8 http://ppa.launchpad.net/colin-king/pagemon/ubuntu xenial/main Translation-en [224 B] 112 kB を 1秒 で取得しました (66.0 kB/s) パッケージリストを読み込んでいます... 完了 blacknon@BS-PUB-DEVELOP:~$ sudo apt-get install pagemon パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが新たにインストールされます: pagemon アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 31 個。 17.8 kB のアーカイブを取得する必要があります。 この操作後に追加で 47.1 kB のディスク容量が消費されます。 取得:1 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 pagemon amd64 0.01.08-1 [17.8 kB] 17.8 kB を 0秒 で取得しました (180 kB/s) 以前に未選択のパッケージ pagemon を選択しています。 (データベースを読み込んでいます ... 現在 91637 個のファイルとディレクトリがインストールされています。) .../pagemon_0.01.08-1_amd64.deb を展開する準備をしています ... pagemon (0.01.08-1) を展開しています... man-db (2.7.5-1) のトリガを処理しています ... pagemon (0.01.08-1) を設定しています ... blacknon@BS-PUB-DEVELOP:~$

これでpagemonがインストールできた。

2.実際に使ってみる

さて、それでは実際にpagemonを使ってみよう。
以下のようにコマンドを実行することで、対象のプロセスの情報を見ることができる。

bash
sudo pagemon -p <プロセス名 or PID>

以下は、sshdを指定して実行した結果。

カーソルをあわせ、Enterキーを押下することでより詳細な内容を見ることもできる。

使いドコロが難しいけど、デバックの時なんかには役に立ちそうなコマンドだ。