タグ付けされた質問 「virtual-memory」

8
LinuxでのJavaからの仮想メモリの使用、メモリが多すぎる
Linuxで実行されているJavaアプリケーションに問題があります。 デフォルトの最大ヒープサイズ(64 MB)を使用してアプリケーションを起動すると、アプリケーションに240 MBの仮想メモリが割り当てられていることがtopsアプリケーションでわかります。これにより、コンピュータ上の他のいくつかのソフトウェアでいくつかの問題が発生します。これは、比較的リソースが限られています。 予約された仮想メモリは、私が理解している限り、とにかく使用されませんOutOfMemoryError。ヒープの制限に達すると、スローされます。Windowsで同じアプリケーションを実行したところ、仮想メモリのサイズとヒープのサイズが似ていることがわかりました。 とにかく、LinuxでJavaプロセスに使用する仮想メモリを構成できますか? 編集1:問題はヒープではありません。問題は、たとえば128 MBのヒープを設定した場合でも、Linuxが210 MBの仮想メモリを割り当てるということです。 編集2:をulimit -v使用すると、仮想メモリの量を制限できます。サイズセットが204 MB未満の場合、204 MBは不要で64 MBしか必要ありませんが、アプリケーションは実行されません。だから私はなぜJavaがそれほど多くの仮想メモリを必要とするのかを理解したいと思います。これは変更できますか? 編集3:埋め込まれているシステムで実行されている他のいくつかのアプリケーションがあります。また、システムには仮想メモリの制限があります(コメント、重要な詳細から)。

4
なぜこの記憶を食べる人は本当に記憶を食べないのですか?
Unixサーバーでメモリ不足(OOM)の状況をシミュレートするプログラムを作成したいと思います。私はこの超シンプルなメモリイーターを作成しました: #include <stdio.h> #include <stdlib.h> unsigned long long memory_to_eat = 1024 * 50000; size_t eaten_memory = 0; void *memory = NULL; int eat_kilobyte() { memory = realloc(memory, (eaten_memory * 1024) + 1024); if (memory == NULL) { // realloc failed here - we probably can't allocate more memory for whatever …

4
仮想メモリと物理メモリの違いは何ですか?
オペレーティングシステムの仮想化の概念とよく混同されます。RAMを物理メモリとして考えると、なぜプロセスを実行するために仮想メモリが必要なのでしょうか。 この仮想メモリは、外部ハードドライブからのプロセス(プログラム)が実行のためにメインメモリ(物理メモリ)に移動されたときにどこに存在しますか。 誰が仮想メモリを管理し、仮想メモリのサイズはどれくらいですか? RAMのサイズが4GB(つまり、2 ^ 32-1アドレス空間)である場合、仮想メモリのサイズはどれくらいですか?

10
x86-64システムに48ビットの仮想アドレス空間しかないのはなぜですか?
本で私は以下を読みました: 32ビットプロセッサには2 ^ 32の可能なアドレスがありますが、現在の64ビットプロセッサには48ビットのアドレス空間があります 私の予想では、64ビットプロセッサの場合、アドレススペースも2 ^ 64になるはずです。 だから私はこの制限の理由は何だろうと思っていましたか?

2
x86ページングは​​どのように機能しますか?
この質問は、主題に関する優れた無料情報の空白を埋めることを目的としています。 私は良い答えが1つの大きなSOの答え、または少なくともいくつかの答えに収まると信じています。 主な目標は、完全な初心者に十分な情報を提供して、自分でマニュアルを読み、ページングに関連するOSの基本的な概念を理解できるようにすることです。 推奨ガイドライン: 答えは初心者に優しいはずです: 具体的ですが、おそらく単純化された例が非常に重要です 示された概念の適用は大歓迎です 有用なリソースを引用することは良いことです OSがページング機能をどのように使用するかについての小さな余談は大歓迎です PAEおよびPSEの説明は大歓迎です x86_64への小さな余談は大歓迎です 関連する質問と、なぜ私はそれらが偽物ではないと思うのか x86ページテーブルはどのように機能しますか?:タイトルはこの質問とほとんど同じですが、本文はcr3およびTLBに関連する特定の質問をします。その質問はこれのサブセットです。 x86仮想化はどのように機能しますか:本体はソースのみを要求します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.