問題タブ [pmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
50915 参照

java - 漏れを見つけようとしています!pmapにとってanonはどういう意味ですか?

Linuxで実行されているJavaプロセスのメモリがどこにあるかを見つけようとしています。誰かが私がpmap-xを使用して、メモリが何をしているかを正確に確認することを提案しました。

出力は本当に長いですが、基本的にそれのかなりの部分はこれの繰り返しです:

これは正確にはどういう意味ですか?なぜこれほど多くのエントリ(4000以上)があるのですか?

0 投票する
1 に答える
2347 参照

linux - Linux / HPUXでコアのメモリマッピングを取得する方法(pmap)

ソラリスでは、コアファイルに対してpmapコマンドを実行して、クラッシュしたプロセスのメモリマップを取得できます。残念ながら、HPUXおよびLinuxで使用可能なpmapコマンドは、このオプションを提供していません。これらのプラットフォームでこの情報を取得する方法を教えてください。

0 投票する
1 に答える
2010 参照

linux - Linuxのpmap出力で削除されたセグメントとは何ですか?

CentOS5.2で実行されているプロセスのpmapからの出力の最初の数行は次のとおりです。

共有ライブラリマッピングで「(削除済み)」とはどういう意味ですか?

0 投票する
4 に答える
6146 参照

concurrency - Clojureのpmap関数はURLフェッチ操作のためにいくつのスレッドを生成しますか?

この関数のドキュメントではpmap、Webを介してXMLフィードのコレクションをフェッチするようなものがどれほど効率的であるか疑問に思います。pmapが生成する同時フェッチ操作の数と、最大値はわかりません。

0 投票する
1 に答える
1044 参照

c - pmap の出力を正しく理解できませんでした

プロセス マップが次のようなスレッド用の単純な C プログラムを作成しました。

アーキテクチャが自己変更コードをサポートしない限り、コード セグメントは変更できないため、上記のマッピングから外れると、これはコード セグメントに違いないと思います。

08048000 4K r-x-- /home/anirudh/Documents/DUMP/a.out

これがデータ セグメントです。グローバル変数を宣言し、そのアドレスを確認したところ、次のセグメントのアドレス範囲にありました。

0804a000 4K rw--- /home/anirudh/Documents/DUMP/a.out

今、私は次のセグメントが何であるかを理解していません...それはコードですか、それともデータですか。

08049000 4K r---- /home/anirudh/Documents/DUMP/a.out

私の質問を読んでくれてありがとう。私を助けてください。

0 投票する
2 に答える
646 参照

c - printf() 関数のアドレスとコードの pmap を出力しました... printf() のアドレスは、libc ではなくコード セグメントの一部であることが示されています

私のコードでは、printf() 関数のアドレスを出力しようとしました。

Address of the function "printf()" in HEX = 8048408

私はそのアドレスが

00250000 1372K r-x-- /lib/libc-2.12.1.so08048000 4K r-x-- /home/anirudh/Documents/DUMP/a.out そのコードがこのセクション、つまり私のコードのコードセグメントにある ことを示すのではなく 。

getpid()andのようなさらにいくつかの関数のアドレスを印刷しようとさえしましたscanf()が、それらはすべて、プログラムのコードセグメントではなく、プログラムのコードセグメントの一部であることが示されましたlibc-2.12.1.so

この理由は何ですか。前もって感謝します。

0 投票する
1 に答える
2144 参照

memory - pmap の RSS と htop の RES は同じですか?

次の簡単なプログラムを実行します

htopこれを与える

pmap -xこれを与える

htoppmap同じ仮想サイズ(36684)を示していますが、物理メモリについては異なるものを示しています(htop's RES= 321 およびpmap's RSS= 432)。

htop多分私は何かを混同しますが、 'sRESpmap's の間に何か違いはありますRSSか?

0 投票する
3 に答える
1595 参照

java - 「共有オブジェクトメモリ」と「ヒープメモリ」 - Java

Javaの「共有オブジェクトメモリ」と「ヒープメモリ」の違いは何ですか? 「共有オブジェクトメモリ」は「ヒープメモリ」のスーパーセットのようなものですか?

この質問のソースは、jmap のドキュメントです。「共有オブジェクトメモリ」と「ヒープメモリ」を印刷するためのさまざまなオプションを提供します。

0 投票する
1 に答える
1065 参照

c - Solaris での pmap のコーディング

現在、特に Solaris 9 で、pmap コマンドをミラーリングする独自のプログラムを作成しようとしています。ライブラリの名前とパスを解決するのに問題があります。Solaris コマンドの出力は、bash シェルから次のようになります。

/proc/$$/map を読み取ることで、プログラムの基本機能をほぼ複製できますが、残っているのは、右側に示されているライブラリ名を解決する方法を見つけることです。/proc/$$/map は /proc/$$/object 内のファイルの名前のみを提供します。これは単なる一般的な名前です。Solaris 10 (私が持っているボックス) では、シンボリック リンクを含む /proc/$$/path を使用できるようですが、作業中のボックスにはこれらがありません。これらのライブラリ名を取得する方法について簡単なアイデアを持っている人はいますか? プログラムをトラスすると、 /proc/$$/as が開き、メモリを調べて何とか見つけたようですが、どこを見ているのか、その理由はまだわかりません。

0 投票する
1 に答える
2847 参照

linux - 32 ビットと 64 ビットの Linux で、同じプロセスに対して pmap を使用するとメモリ使用量に大きな違いが見られるのはなぜですか?

私は新しいサーバー (64 ビット Debian) をセットアップしていましたが、apache プロセスをできるだけ小さくしようとして、不要なモジュールを無効にしました。次に、より多くのモジュールがオンになっている 32 ビット Debian ボックスで、pmap の出力を apache と比較しました。64 ビット マシンで「最適化された」ものは、​​はるかに多くのメモリを消費しているように見えて、非常に驚​​きました。

pmap -d (要約行のみ) は以下を示します。

出力をさらに詳しく見ていきます。.so ライブラリのメモリ割り当てに違いがあります。libcを例にとると...

64 ビット:

32ビット:

したがって、違いは 64 ビット出力の 2 行目です。Mode="-----" を使用したこれらの割り当ての説明が見つかりません。すべての .so には 1 つあるようで、サイズは常に 2044 または 2048 です。

これは 64but マシンでのメモリ割り当てと関係がありますか? RAM 1 GB あたりの proc は、32 ビット マシンよりもかなり少なくなりますか?