稼働中プロセスのメモリの中身を知りたい。 /proc/[number]/memを開いて読み込んだらいい風な文書を見かけ、それらしいコードも見かけたので試しているわけですが、読み込み(read(2))で"No such process"(ESRCH)と言われてしまいます。参考にしたのは、以下。 How to read/write memory in an external process ちなみに、(プロセスを停止させたりせずに)`cat /proc/pid/mem`した場合も同じメッセージでエラーになります。 Parallelsで作成したVMのDebian Etch("Linux debian 2.6.18-6-686 #1 SMP Sun Feb 10 22:11:31 UTC 2008 i686 GNU/Linux")で実験中。カーネルのパラメータは`sysctl -a`で見てみたけど
メモリマップとは? oracle のメモリマップ /proc のプロセスごとの項目 メモリマップとは? Linux では /proc というディレクトリがあります。 これは Linux 上で現在動いているプロセスのための擬似ディレクトリです。 この直下にある数字から成るディレクトリは PID (Process IDentifier) に対応するもので、カーネルにあるプロセス制御テーブルをマップしたものです。 従って、このサイズはディスク上のものではありません。 また、これらの擬似ファイルはカーネルの管理下にありますので、 削除できません。 プロセスが終了すると、/proc 配下からもなくなります。 > ps -ef | grep ora817 | grep -v grep 20:ora817 773 1 0 Jun25 ? 00:00:00 ora_pmon_ora817 21:ora81
お題は「あるプロセスがどの程度の物理メモリを利用したかを知りたい」です。 手っとりばやく知りたいときは top や ps などで調べると良いでしょうか。例えば手元の coLinux で top して M キーでソートすると emacs のプロセスが最もメモリを使っているようです。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1923 naoya 18 0 23120 19m 3096 S 0.0 2.0 0:55.40 emacsメモリサイズは VIRT と RES がありますが、VIRT は Virtual の略で仮想メモリ領域のサイズ、RES が Resident の略で、実際に使用している物理メモリ領域のサイズ。19MB ほど使っているようです。この emacs のプロセスが利用するメモリ領域はざっくり 20MB 程度と
作成日:2002.7.14 デバッガやハッキングツールの 1種には実行中の外部プロセスの持っているメモリを読み書きするこのとできるものがある。 ここでは Windows / Linux / Solaris の 3 種類の OS で、外部プロセスからのメモリの読み込みを実現する方法を説明する。 重要な点を挙げると、 Solaris と Windows では外部プロセス(この場合 java[.exe]) を 停止させることなくメモリイメージを覗くことが可能。 Linux では標準の機能のみを使うと、ターゲットなるプロセスを 停止させずにメモリを読むことができない。 シグナルによって対象プロセスを止める必要がある。 Linux でも kernel の loadable module を自前で書けば、 停止させずのメモリ覗きは可能。 Windows Windows の場合には、プロセス ID から
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く