pmapコマンドについて詳しくまとめました 【Linuxコマンド集】

  • このエントリーをはてなブックマークに追加
  • Pocket

pmapはメモリのアドレス空間を表示するコマンドだ。

コンピュータプログラムやデータはRAMなどのメモリ上に展開されるが、ユーザーは意識しなくてもどこにどんなデータが格納されるかはLinuxが自動で設定してくれる。

メモリ上のデータの場所をアドレスと呼び、その領域をアドレス空間と呼ぶ。

pmapコマンドは、データやプログラムがどこのメモリのアドレス空間に格納されているかを知ることができる。

pmapコマンドの基本

コマンドの基本動作

使い方は、次のとおりだ。

$ pmap プロセス番号(PID)

1675番のメモリのアドレス空間を確認する場合は、次のコマンドだ。

$ pmap 1675

pmapコマンド

実際にプロセス名からプロセス番号(PID)を知るにはpsコマンドを利用する。

psコマンドでbashのプロセス番号(PID)を調べ、1675番とわかったので、pmapコマンドで1675番のメモリのアドレス空間を調べた。

4項目あり、0026f000などの16進数がアドレス空間の先頭アドレスだ。

8Kは、そのデータ領域、r-x—などはそのメモリ空間のアクセス権限をどのように設定しているか、/lib/libdl-2.12.1.soなどは、マッピングと呼ばれる、どのプロセスかを示している。

画面に表示しきれないが、今回のbashの例では50程度のメモリ空間であった。

pmapコマンドのオプションたち

オプションの一覧

後から詳細をご紹介するが、まずは一覧で見てみよう。

オプション -x

拡張モードでの表示になる

オプション -d

デバイス番号やオフセットも表示する。

オプション -q

ヘッダーを表示しない

-xオプション:拡張モードでの表示になる

拡張モードで表示する書式は次の通りだ。

$ pmap -x プロセス番号(PID)

1675番のメモリのアドレス空間を拡張モードで確認する場合は、次のコマンドだ。

$ pmap -x 1675

pmapコマンド

1行目に項目名が表示されている。

RSSは、常駐するメモリのサイズがキロバイトで表示されている。

Dirtyはダーティーページという、メモリ上にあってこれからディスクに書き込まれるべきデータの容量のことで、キロバイトで表示されている。

-dオプション:デバイス番号やオフセットも表示する

デバイス番号やオフセットもあわせて表示する書式は次の通りだ。

$ pmap -d プロセス番号(PID)

1675番のメモリのアドレス空間をデバイス番号やオフセットもあわせて確認する場合は、次のコマンドだ。

$ pmap -d 1675

pmapコマンド

1675番のメモリのアドレス空間をデバイス番号やオフセットもあわせて表示された。

-qオプション:ヘッダーを表示しない

ヘッダーを表示しない書式は次の通りだ。

$ pmap -q プロセス番号(PID)

1675番のメモリのアドレス空間をヘッダーを表示せずに確認する場合は、次のコマンドだ。

$ pmap -q 1675

pmapコマンド

1675番のメモリのアドレス空間をヘッダーを表示せずに表示した。

pmap関連コマンド

最後にpmapコマンドに関連して、基本的なプロセス関連のコマンドも紹介しておく

psコマンド

プロセスの一覧を表示する。

jobsコマンド

ジョブの一覧を表示する。

killコマンド

プロセスやジョブを停止する。

まとめ

このページでは、pmapコマンドを使ったプロセスが割り当てられたメモリ空間の確認の方法を解説した。

メモリ空間はLinuxが自動で割り当ててくれるものだ。

異なるプロセス同士で同じメモリ空間は使わないようになっている。

本来、コンピュータの作業ごとにどのメモリを使うかというのは、指定が必要だが、Linuxはこの面倒な作業を自動的に行ってくれている。

アプリケーション立ち上げの際に少々時間がかかるのは、このメモリ空間を確保している処理をしているためでもある。

Linuxでは滅多にユーザー自身がメモリ空間に対して操作することはないだろう。しかし、不具合が解決できない時はpmapコマンドでチェックしてみてもいいだろう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リカレントテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リカレントテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する