C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.94435 の関連記事表示

<< 0 >>
■94435  Re[8]: 利用可能なメモリーサイズを調べる方法
□投稿者/ ぱそ -(2020/04/12(Sun) 15:33:33)

    > あなたのソースコード上、明示的に DLL を使っていなくても Windows / .NET Framework が暗黙に DLL をロードしているので
    > (デバッガ画面になんちゃら DLL をロードしましたって表示が出るの見たことありますよね?)


    それは分かっているのですが、
    IMEなどの共通のアプリも一つのプロセスに必要なメモリー量にカウントされるのでしょうか?


    一つのプロセスで最低1GB必要なのだとすると
    3つ以上のプロセスを起動すると3GBを超えてしまい、
    メモリーの最大容量を超えてしまいますが、
    これはどう考えれば良いですか?


    > Redim は C でいうところの realloc に相当し、元配列を同じアドレスのまま拡張できない場合には
    > 元配列とは別のアドレスに新配列を取り、値をコピーし、元配列を処分する( gc があってもこのロジックは変わらない)
    > 必要があるので一時的には元配列の2倍以上のメモリ容量が必要です。

    拡張できない場合には、ということは、Redimにおいて毎回二倍のメモリ量が必要というわけではなく
    必要ない場合があれば、必要ない場合もあるということですか?
    また、コピーするということは、拡張できない場合には、拡張できる場合と比べて
    少し時間がかかるということを意味しますか?


    > 物理メモリ 256MiB なら AvailablePhysicalMemory も 256MiB になるはず
    > 物理メモリ 4GiB でも x86 アプリでデータ領域として使えるメモリは 1GiB 程度となるのが経験則

    上の説明では、一つのプロセスは最低でも1GBは使用しているので、
    実質使えるのは残りの1GBしかないという話でしたよね?
    となると、そもそも256MBしかメモリーを積んでいない場合には、
    いくつかメモリーを使用しているのでしょうか?

    半分の128MBと考えて良いですか?
記事No.94426 のレス /過去ログ163より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -