C言語関係掲示板

過去ログ

No.419.プログラムの使用メモリのサイズ

[戻る] [ホームページ]
No.2915

プログラムのサイズ
投稿者---ある(2002/10/11 12:00:36)


作成したプログラムの使用メモリのサイズを調べたいのですがどのようにやればよいのでしょうか?
教えてください お願いします。

No.2933

Re:プログラムのサイズ
投稿者---かずま(2002/10/12 22:23:09)


> 作成したプログラムの使用メモリのサイズを調べたいのですがどのようにやればよいのでしょうか?

Unix なら、ps コマンドか、top コマンド。
Windows 2000 なら、タスクマネージャを起動して、プロセスタブを選択。

タスクマネージャで次のプログラムを見てみると、
Enter キーを押すたびに 1028KB ずつ使用メモリが増えていきます。
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i = 0;

    do {
        char *p = calloc(1024, 1024);
        printf("%d: %p\n", ++i, p);
    } while (getchar() != 'q');
    return 0;
}

でも、calloc(1024, 1024) を malloc(1024 * 1024) に代えると
4KB ずつしか使用メモリが増えていきません。
これは、仮想記憶の demand paging のせいで、実際にアクセスしないと
メモリは使用されないからでしょう。

No.2934

Re:プログラムのサイズ
投稿者---ある(2002/10/13 14:32:11)


>Unix なら、ps コマンドか、top コマンド。

お返事ありがとうございます。
私はLinuxで作成していますが,仮にsampleというプログラムの使用メモリを計るには,どのようにコマンドを打ち込めばいいのでしょうか?