[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:22016] Re: 物理メモリサイズを取得する方法を教えて下さい



岩佐です。

"H.Shiozaki" <sios_hs@ybb.ne.jp> wrote:

> 岩佐さん,ご指摘の
> mlockall(MCL_FUTURE)をやってみますと,
> 私のマシンでは,ハングアップ状態になり,
> RESET-SWを押す羽目になりました。

  それは、私のところでも、かなり近い状態になります。
  ですから、取ってみたのでは安全さはわからないと書いたのでし
た。

> >>   Subjectの「物理メモリサイズの取得」は、本文とニュアンスが違
> >> う気がしますが、Subject通りなら、/proc/meminfoやsysinfo(2)で
> >> わかるだろうと思います。
> > ですね。
> 
> 本文が,Subject通りに動作しないので,質問したのですが。。。

  あれれ?

|         total:    used:    free:  shared: buffers:  cached:
| Mem:  1058287616 1043881984 14405632        0 84451328 348184576
| Swap: 2146787328   614400 2146172928

とかなりませんか?
  搭載RAMは上記では1058287616Bytes。1Gですね。
  そこが誤っているなら、設定に問題があると思います。

> 大きなメモリサイズをmallocやcallocしたいのです。
> 登載RAMサイズを,プログラムの中で確認し,それに対して,
> 余裕(安全)をとって使用する,と言う考え方です。
> #この,安全は,例えば半分とか,いくら引くかは思案どころです。
> どうも,subjectは,叶わないと,理解しました。

  個人的な意見ですが、

    安全、って、何なんでしょう?
    どうして、それが安全なんでしょう?

というあたりで、気持ちの転換が必要そうに思えます。
  御所望のことが、単に「Linuxでは出来ない」と理解されたのだ
としたら、それはちょっと違うのではないかと思います。

> >   Subjectの「物理メモリサイズの取得」は、本文とニュアンスが違
> > う気がしますが、Subject通りなら、/proc/meminfoやsysinfo(2)で
> > わかるだろうと思います。
> 
> とりあえず,私のマシンの場合には,
> /proc/meminfo から,
> Inactive:        26348 kB
> の情報から,使えるサイズを
> #define MAX_RAM_USE 26
> として,
> 取得メモリサイズを制限することで,対処しました。
> ----
> 本来は,マシン毎に搭載メモリサイズが異なるので,
> プログラムの中で,指定できるのが,理想的なのですが。

  プログラムの中で、/proc/meminfoなりを読めば良かったりしま
せんか (^_^)?

--- Think Diffident ----------------------------------------
                                                  uaitne.
   

Follow-Ups
[plamo:22026] Re: 物理メモリサイズを取得する方法を教えて下さい, H.Shiozaki
References
[plamo:21938] Re: 物理メモリサイズを取得する方法を教えて下さい, Iwasa Dai
[plamo:22012] Re: 物理メモリサイズを取得する方法を教えて下さい, H.Shiozaki

[検索ページ] [メール一覧]
Plamo ML 公開システム