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

メモリ管理は、システムレベルでコンピュータのメモリを管理する行為です。メモリ管理でタグ付けされた質問は、アプリケーションとオペレーティングシステムをカバーできます。

5
「非アクティブ」メモリが残っている場合にMac OS Xがスワップを使用できないようにするにはどうすればよいですか?
OS Xの日々の使用(およびインターネット全体のさまざまな投稿によると他のいくつかの使用)での一般的な現象で、システムは「空き」メモリがなくなると遅くなるようです。おそらく、これはスワッピングによるものです。重いディスクアクティビティが明らかであり、vm_statが多くのページアウトを報告するからです。(間違って修正してください) ただし、「非アクティブ」RAMの量は、スワッピングの開始/発生/終了時の使用可能なすべてのメモリの約12.5%〜25%(^ 1。)です。 http://support.apple.com/kb/ht1342によると: 非アクティブなメモリ メモリ内のこの情報は積極的に使用されていませんが、最近使用されました。 たとえば、Mailを使用してから終了した場合、Mailが使用していたRAMは非アクティブなメモリとしてマークされます。この非アクティブメモリは、空きメモリと同様に、別のアプリケーションで使用できます。ただし、別のアプリケーションで非アクティブメモリが使用される前にメールを開くと、低速のハードディスクからメールをロードするのではなく、非アクティブメモリがアクティブメモリに変換されるため、メールが速く開きます。 そして、http://developer.apple.com/library/mac/#documentation/Performance/Conceptual/ManagingMemory/Articles/AboutMemory.htmlによると: 非アクティブリストには、現在物理メモリに常駐しているが最近アクセスされていないページが含まれます。これらのページには有効なデータが含まれていますが、いつでもメモリから解放されます。 したがって、基本的には、プログラムが終了すると、そのメモリは非アクティブとしてマークされ、いつでも要求可能になります。それでも、OS Xは、「空き」メモリが少なくなるたびに、このメモリを要求するのではなく、スワップファイルへのメモリのスワップを開始することを好みます。 どうして?たとえば、スワップファイルに触れずに非アクティブなメモリを即座に解放することに対するこの動作の利点は何ですか?一部のソース(^ 2。)は、OS Xが解放する前に「非アクティブ」メモリをページアウトしてスワップすることを示していますが、メモリがいつでもメモリから解放される可能性がある場合、それは意味がありませんか?スワッピングは高価で、リリースは安価ですよね? この動作は、何らかの設定または既知のハックを使用して変更できますか?(できれば、swap / dynamic_pagerを完全に無効にして再起動する機能を含まないものを...) 私はパージコマンド、およびいくつかの空きメモリを強制するためのディスク権限の修復の概念を高く評価していますが、これらは実際にスワップ/リリース決定ロジックを修正するよりも多くの空きメモリを強制的に強制する方法です... ところで同様の質問がここに頼まれた:http://forums.macnn.com/90/mac-os-x/434650/why-does-os-x-swap-when/、ここで:のhttp://hintsforums.macworld .com / showthread.php?t = 87688ですが、OPがコアの質問を再尋ねたとしても、どの回答もそれに対する答えに対処しません... ^ 1。更新2012年3月17日この質問を最初に投稿してから、インストール済みのRAMを4GBから8GBに変更しましたが、問題は残っています。「非アクティブ」RAMの量は、以前0.5gb-1.0gbでしたが、スワップの開始/発生/終了時に通常1.0-2.0GBになりました。つまり、osxによってRAMの約12.5%-25%が非アクティブとして保持されるようです。カーネルロジック。 ^ 2。たとえば、https://apple.stackexchange.com/questions/4288/what-does-it-mean-if-i-have-lots-of-inactive-memory-at-the-end-of-a-work-日: すべてのメモリが使用されると(空きメモリは0)、OSは非アクティブなメモリをスワップファイルに書き込み、アクティブなメモリにより多くのスペースを確保します。 更新日2012年3月17日 以下は、これまでに役立つことが提案されている方法のまとめです。 パージコマンド 「パフォーマンス分析のためにコールドディスクバッファーキャッシュを使用して初期ブート条件を概算するために使用されます。malloc、vm_allocateなどを介して割り当てられた匿名メモリには影響しません。」 これはosxがディスクキャッシュをスワップアウトするのを防ぐのに役立ちます(osxが実際にそうするのはばかげています)が、ディスクキャッシュが解放されるという欠点があるため、ディスクキャッシュがスワップアウトすると、単にコールドディスクバッファーキャッシュになり、パフォーマンスに悪影響を与える可能性があります。 FreeMemoryアプリおよび/またはいくつかのフリーメモリを強制的にディスクのアクセス権を修復 メモリを解放する助けにはならず、数ギガバイトのメモリ内容をRAMからhdに移動するだけです。最終的に、メモリの解放中に開いていたアプリケーションを使用しようとすると、そのvmの多くがスワップ上にあるため、これにより多くのスワップインが発生します。 dynamicpagerwrapperを使用したスワップ割り当ての高速化 スワップ使用を高速化するためには良いことのように思えますが、そもそも非アクティブなメモリがある間にosxスワッピングの問題に対処しません。 dynamicpagerを無効にして再起動してスワップを無効にする これにより、すべてのメモリが使用されている場合、osxはシステムハングの価格にスワップを使用しなくなります。実行可能な代替ではありません... ハッキングされたdynamicpagerを使用してスワップを無効にする 上記のdynamicpagerを無効にするのと同様に、ブログ投稿へのコメントからの一部の抜粋は、これが実行可能な解決策ではないことを示しています。「システムのメモリが不足すると、OS全体がハングします...」、「Macのメモリをすべて消費すると、マシンがハングする可能性があります」 要約すると、「非アクティブ」なメモリが残っているときに、Mac OS Xがスワップを使用できないようにする方法はまだわかりません。それが不可能な場合は、少なくともosxがいつでもメモリから解放される可能性のあるメモリをスワップアウトすることを好む理由について少なくとも説明がありますか?

5
OOMのキラーインターベンションを早期に行うことは可能ですか?
開発システムを最大限の信頼性に調整しようとしています。スワップを無効にしたのは、GUIを使用する場合、ほとんどの場合、マシンが応答しなくなり、使用できなくなるためです。それにもかかわらず、積極的なアプリケーションがメモリを使い果たした場合、速度を犠牲にしてそれを最大限に活用するメカニズムがいくつかあるようです。ハードドライブのスワップ操作はありませんが、システムは同様に応答しなくなります。そのため、システムがメモリゲインに特別な努力をする前に、OOMキラーを起動させたいと思います。たとえば、空きメモリが100 MB未満の場合に動作するようにOOMキラーを構成することは可能ですか?

6
コンピューターのどこにL1、L2、L3キャッシュがありますか?
コンピューターのどこにL1、L2、L3キャッシュがありますか? キャッシュを使用して、メインメモリではなくキャッシュからデータと命令を選択することでパフォーマンスを向上させています。 以下は私の質問です L1キャッシュはどこにありますか?。CPUチップ上にありますか? L2キャッシュは正確にどこにありますか? L3キャッシュはどこにありますか?マザーボードにありますか? 最新のSMPプロセッサは3レベルのキャッシュを使用するので、キャッシュレベルの階層とそのアーキテクチャを理解したいと思います。

2
Windows 8.1では、RAMを使い果たしたときにプロセスが最初に強制終了されないようにする方法はありますか?
Kinect v2からの色、赤外線、深度データをバッファリングする.NET 4.5アプリケーションを作成し、処理を実行してから、非圧縮形式でディスクにダンプします。.NETアプリケーションもffmpegをサブプロセスとして起動し、カラーデータをH.264としてエンコードされるようにパイプ処理します。 私はSSDを使用していないため、ビデオデータはディスクに書き込むよりも早く到着します。しかし、それは大丈夫です。RAMが不足しているときにビデオフレームを破棄してもかまいません。私の唯一の要件は、私が保持するものがほとんど8〜10秒のビデオの塊であることです。そのため、連続した8〜10秒のビデオ(約1.5〜2 GB)をバッファリングするのに十分なRAMがないときに、ビデオフレームの破棄を開始するロジックを.NET 4.5アプリケーションに追加しました。 また、ページのスラッシングを防ぐために、ページングファイルを完全に無効にしました。これにより、合計16 GBの物理RAMが残ります。 私の問題は、そのメカニズムが適切に設定されていても、Windows 8.1が低RAMをフリークすると、時々.NETアプリケーションまたはffmpegサブプロセスが強制終了することです。ディスクに書き込む。自分のプロセスが他のプロセスよりも重要であることをWindowsに伝える方法はありますか?


1
スワップ中のLinuxでのデスクトップの応答性を向上
これまでにテストしたすべてのGNU / Linuxディストリビューションには、RAMがいっぱいになりシステムがスワップを開始するたびに、デスクトップとグラフィカルユーザーインターフェイス全体が地獄のように反応しなくなることがあるという問題があります。マウスポインターが実際に移動するまで物理的なマウスを移動した。 これは、特に低RAMのシステムでは厄介な動作です。 デスクトップ環境などの一部のアプリケーション/ジョブに、他のアプリケーションよりもラムにとどまる優先順位を高くして、アプリケーションが実際にすべてのメモリを占有し、デスクトップ環境などの前にスワップされるようにする方法はありますか? 編集: 私はRAM全体が使用されている場合について話しているので、それが無効になっていない場合は常にスワップを開始します(プロセスがランダムに強制終了されることは望ましくありません)。この問題は、低RAM環境だけでなく、デスクトップマシン上の8GiBのRAMでも発生しました。これは、メモリリークが原因のVMが多かったためです。ZRAMは問題を遅らせるだけなので、解決策でもありません。この問題に対して私が考えることができる唯一の解決策は、特定のジョブがまったくスワップされないようにするか、少なくとも非常に起こりにくいようにするユーザースペースユーティリティまたはカーネルAPIです。誰かが別のソリューションを知っていますか、またはそのようなツールやAPIが存在するか、計画されているかについて何か知っていますか? 第二編集: ulatencydにsystemdの新しいバージョンで動作するようには思えない、に従ってhttps://aur.archlinux.org/packages/ulatencyd-git/とhttps://wiki.archlinux.org/index.php/Ulatencyd。これは、私が正しく理解していれば、systemdがユーザー空間の観点からcgroupの完全な制御を引き継いだためかもしれません。


1
OS Xのワイヤードメモリとアクティブメモリ
OS Xのワイヤードメモリとアクティブメモリの違いを理解できません。 4種類のメモリについては話さないでください(空きメモリや非アクティブなメモリについては話さないでください。これらのメモリについては既に知っているからです)。有線メモリとアクティブメモリを比較対照して、これら2つをよりよく理解できるようにします。

1
Linuxによってキャッシュされるファイルはどれですか?
Linuxは未使用のRAMを使用して一部のファイルをキャッシュに保存することを理解しています。しかし、私はそれが実際にどのファイルをキャッシュするのか疑問に思います!あなたが見てみるとfree: Gesamt Belegt Frei Gemeinsam Puffer Cached Speicher: 5,8G 3,7G 2,1G 0B 259M 1,7G -/+ Puffer/Cache: 1,8G 4,0G Auslagerungsdatei: 4,0G 0B 4,0G 1.7 GBのRAMがキャッシュとして使用されていると表示されています。これは有害な動作ではないことは知っていますが、Linuxがキャッシュに値すると見なしているファイルについて知りたいです。キャッシュされたファイルを表示するコマンド/ファイルはありますか?

4
Windows Server 2008R2でファイルキャッシュを制限または無効にするにはどうすればよいですか?
非常に高速なRAIDアレイと高速インターネット接続を備えたマシンがあります。しかし、アップロードが増えると、メモリは8GBになり、非常に速くなります。 キャッシュを無効化または制限するにはどうすればよいですか? (デバイスマネージャーから書き込みキャッシュを無効にしてみましたが、それは書き込みキャッシュにすぎず、役に立ちませんでした。)

3
32ビットUbuntuに8 GBのRAMが表示されるのはなぜですか?
ubuntu 11.04 32ビットの新しいコピーをインストールしたところ、OSがWindows 32ビットOSとは異なり、私の8GBのRAMを認識できることに驚きました。 どのように機能しますか?アドレスマッピングはどのように実行されますか?効率的ですか?Windowsシステムで動作しないのはなぜですか?

3
PC起動以降にどのプログラムまたはサービスに時間がかかるかを知る方法は?
ログイン後、ハードディスクのLEDが5分間ほど点灯するため、起動時とログイン後にWindows 7でコンピューターリソースを消費し、使用するプログラムを特定したいと思います。 どのプログラムが私のハードディスクを「食べる」のか知りたいですか?また、どうすればPCを高速化できますか?

1
Windows 10ではメモリ/コミットチャージはどのように機能しますか?
この質問は、私が説明したいのですが、定期的に観察される以下の現象によって促されます。 現在のコミットは通常、物理使用量+ページファイルサイズよりも大きくなっています。どうしたの?それは不可能ではないでしょうか。 [これは圧縮のせいかもしれません。これは質問を変容させる:なぜコミット制限が上がらないのか、それとも何かなのか?すなわちメモリの使用に役立たない場合、圧縮のポイントは何ですか?] 現在のコミットが物理メモリ使用量の2倍以上になる極端なレベルに達することがあります。 コミット料金がいっぱいになり、Windowsが物事を閉じるように私に頼み始めたとき、ほとんどの場合物理メモリは約60%です。これは非常に非効率的です。 Process Explorerで報告されているように、これはWindows 10上にあります。 私が答えたいと思う究極の質問は、次のとおりです。スペース不足のSSDは、物理メモリを実際に効果的に使用できるようにするために、自分のページファイルを人工的に膨らませるのを避けることができますか。 (あるいは、それがいっぱいでなかったとしても。「あなたのページファイルにX / Y / Zをする」といった提案は避けたいのです。)

1
プロセスのメモリ割り当てを制限する
Windows Server 2008 R2を実行しています。特定のプロセスに割り当てられたRAMメモリスペースを制限したいのですが、「Windows System Resource Manager」をインストールしましたが、情報は表示できますが編集できません。 特定のプロセスに割り当てられたRAMスペースを制限することさえ可能ですか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.