問題タブ [virtual-memory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1486 参照

linux - Linux でメモリ マップ領域が縮小するのはなぜですか

この領域は動的にロードされるライブラリのようにファイルをマップするため、これを考慮してください。理想的には大きくなるはずです。これは、RLIMIT_STACK とヒープ開始の間の mmap 領域を開始することで実装できます。この場合、どのような問題が発生しますか。

それが成長した場合、新しいメモリマップ領域はどのように作成されますか。abc.so のコードを仮想アドレス空間にマップしたい場合、sizeof(abc.so) 空間を下方向に作成し、この領域の下部からファイルをマップする必要があります。これはどのように機能しますか?

0 投票する
3 に答える
1034 参照

linux - プロセス全体の仮想アドレス空間がページに分割されている

注:仮想メモリ割り当ての概要を調べようとしています。

プロセス全体の仮想アドレス空間は、特定のサイズのページに分割されています:

これにはヒープスペースとスタックも含まれますか?それとも常にページング不可ですか?

0 投票する
1 に答える
2248 参照

compilation - RVAとVAとは何ですか?

RVAとVAの意味を説明してください

0 投票する
2 に答える
2128 参照

memory-management - 「32ビットOS」、「32ビットプロセッサ」:これらの用語は正確にはどういう意味ですか?

「32ビットOS」、「32ビットプロセッサ」の正確な意味は何ですか?

  • アドレスバスのサイズに影響しますか?
  • 生成できる仮想アドレスの数に影響しますか?
  • レジスタサイズにどのように影響しますか?レジスタサイズはどういう意味ですか?
  • 仮想メモリ/メモリ管理にどのような影響がありますか

私はこの分野の初心者です。もしあれば、いくつかの適切なドキュメントを教えてください。

ありがとう。

0 投票する
5 に答える
23802 参照

security - 他のプロセスのメモリにアクセスするにはどうすればよいですか?

あるプロセスが他のプロセスのメモリを読み取ることはできないと思いました。しかし、 「RAM エディター」を備えた「 WinHex 」という名前のアプリケーションを見てショックを受け、メモリ全体にアクセスできるようになりました。すべてのプロセスの。

そんなことがあるものか?また、他のプロセスのメモリを変更することもできます。これは悪意にはなりませんか?

0 投票する
2 に答える
2390 参照

linux - どのLinuxがプロセスメモリをRAMからスワップファイルにスワップするかに基づく正確な条件は何ですか?

私のサーバーには8GigのRAMとスワップファイル用に構成された8Gigがあります。メモリを大量に消費するアプリを実行しています。これらのアプリの負荷はピークに達し、その間にスワップの使用量が増加します。約1GIGのスワップが使用されます。

4ギガのRAMと8ギガのスワップを備えた別のサーバーと同様のメモリを大量に消費するアプリが実行されています。しかし、ここではスワップの使用はごくわずかです。約100MB。

LinuxがRAM内のプロセスメモリをスワップファイルにスワップアウトする正確な条件や大まかな式は何でしょうか。私はそれがスワッピングファクターに基づいていることを知っています。それは他に何に基づいていますか?ファイルサイズを入れ替えますか?これを説明するLinuxカーネルのドキュメント/ソースコードへのポインタは素晴らしいでしょう。

0 投票する
1 に答える
60005 参照

memory-management - シーケンシャル書き込みとランダム書き込みの違い

次の場合のシーケンシャル書き込みとランダム書き込みの違いは何ですか:- 1) ディスク ベースのシステム 2) SSD [フラッシュ デバイス] ベースのシステム

アプリケーションが何かを書き込み、情報/データをディスク上で変更する必要がある場合、それがシーケンシャル書き込みかランダム書き込みかをどのように知ることができますか。この時点まで、書き込みは「シーケンシャル」または「ランダム」として区別できません。書き込みはバッファリングされ、バッファをフラッシュするときにディスクに適用されます。

間違っている場合は修正してください。

0 投票する
5 に答える
463 参照

.net - VMの断片化を判断するための.NETAPI

VMの使用に関する詳細情報を取得するための.NETAPIはありますか?私は自分のアドレス空間がどれほど断片化されているかを判断することに特に興味があります。

ありがとう!

0 投票する
1 に答える
748 参照

c - malloc はマシンごとに異なる動作をします

さまざまなマシンで RSS を超えようとするプログラムを実行すると、まったく異なる動作が見られます。コードは次のようなものです。

上記のコードは、malloc を使用して約 10GB のメモリを割り当てようとします。このコードを試した最初の 2 台のマシンは Linux カーネル 2.6 で実行され、最後のマシンは Linux カーネル 2.4 で実行されました。これらのマシンで見られる動作は次のとおりです。

マシン 1: メモリはメモリ オーバーコミットを使用して割り当てられますが、while ループでメモリ位置に値を割り当てる場合、RSS が許可する範囲でしか割り当てられません。したがって、OOM Killer は、i=3800 が出力されるとプロセスを強制終了します。これは、このマシンが持つ約 4GB のメモリです。

マシン 2: メモリ オーバーコミットを使用してメモリが割り当てられ、while ループが無限に続き、仮想メモリからページが割り当てられます。i = 3800 が出力された後、プロセスは少し遅くなりますが、これは正常です。

machine3: このマシンには 2GB のメモリしかありません。メモリを割り当てることさえできません。オーバーコミットが設定されていないか、カーネル 2.4 が malloc! を使用した仮想マシン ページの割り当てをサポートしていないようです。したがって、最初の for ループでは、i = 2138 にメモリを割り当てながら終了します。

私の望むアクションは、machine2 で起こっているアクションです。OSがmallocを使用して仮想メモリページを割り当て、必要なメモリがRSSを超えている間にページングを開始できるようにするには、どの(カーネル?)オプションを設定する必要があるか知っていますか?

ありがとう

0 投票する
2 に答える
3009 参照

c - Linuxカーネルモジュールで実行可能ページを割り当てる方法は?

Linuxカーネルモジュールを作成していますが、実行可能ページを割り当てたいと思います。Plainkmalloc()は実行不可能なページ内にポインタを返し、そこでコードを実行するとカーネルパニックが発生します。Ubuntu Karmic x86、2.6.31-20-generic-paeで動作する必要があります。