[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:21936] Re: 物理メモリサイズを取得する方法を教えて下さい
-
From:K.Kodama
-
Date:Thu, 5 Feb 2004 16:15:34 +0900 (JST)
- Subject: [plamo:21936] Re: 物理メモリサイズを取得する方法を教えて下さい
- From: K.Kodama <kdm@xxxxxxxxxxxxxxxx>
- Date: Thu, 05 Feb 2004 16:16:55 +0900 (JST)
児玉 です.
From: H.Shiozaki <sios_hs@ybb.ne.jp>
Subject: [plamo:21933] 物理メモリサイズを取得する方法を教えて下さい
Date: Thu, 05 Feb 2004 01:21:40 +0900
> 汐崎と申します。(長文失礼)
> 下記の様なプログラムで,PCに実装されているRAMの内,
> ユーザプログラムから使えるサイズを取得したいのですが,
> どうも,RAM領域を越えてしまいます。
/proc/sys/vm/overcommit_memory に1を書き込むと overcommit動作をする.
つまり, 名目だけ割り当てて成行きに任せちゃう.
なので, そういう状況まで含めると,
malloc では実メモリの量はわからないのじゃないかと....
(つまり, 汎用性が無い)
# いや, やっては居ないからわからないけど.
> int check_ram_size(int n, int v)
> {
> char *p;
> int i, f, g;
> f=g=0;
> for(i=1; i<=n; i++){
> g=0;
> p = (char *) malloc(1048576 * i);
> //p = (char *) calloc(i, 1048576);
> /* very slow: high cost in FreeBSD */
> if(p) { g=1; free(p); }
> if(p==NULL) {f=1; break;}
> if(v)printf("\n**chk_ram_size: malloc successed at size %3d[MB]",
> i);
> }
> if(v && f)printf("\n**chk_ram_size: malloc failed at %3d[MB]", i);
> //if(p)free(p);
> return(i-1);
> }
--
Kouji KODAMA, kdm@kobe-kosen.ac.jp
- References
-
- [plamo:21933] 物理メモリサイズを取得する方法を教えて下さい, H.Shiozaki
[検索ページ]
[メール一覧]
Plamo ML 公開システム