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

これは、プロセッサのメモリ管理ユニット(MMU)によってコンピュータの物理メモリに論理的に追加されるメモリアドレス空間の拡張です。これは、通常、空きディスク領域を利用してこのようなメモリ拡張機能を実装することでオペレーティングシステムで実現され、スワップファイルまたはページファイルと呼ばれることもあります。

3
freeの出力におけるバッファ/キャッシュラインの意味
サーバーが表示されるのはなぜですか total used free shared buffers cached Mem: 12286456 11715372 571084 0 81912 6545228 -/+ buffers/cache: 5088232 7198224 Swap: 24571408 54528 24516880 Linuxでメモリを計算する方法がわかりません。7198224が無料であるため、実際には5GBのRAMを消費しているところで5088232が使用されていると思いますか?

18
Linux上のファイルをRAMにキャッシュ/プリロードする
私は4GBのRAMを備えたかなり古いサーバーを使用しており、1日を通してほぼ同じファイルを提供していますが、3GBのRAMが「無料」である間にハードドライブから提供しています。 ラムドライブを実行したことがある人なら誰でも、速度の面で素晴らしいことを目の当たりにすることができます。このシステムのメモリ使用量は通常1GB / 4GBを超えることはないので、その余分なメモリを何か良いものに使用する方法があるかどうかを知りたいと思います。 RAMから特定のファイルを常に提供するようにファイルシステムに指示することは可能ですか? RAMを使用してファイル読み取り機能を改善するために使用できる他の方法はありますか? より具体的には、私はここで「ハック」を探していません。RAMドライブを作成し、そこにファイルを手動でコピーする必要なく、ファイルシステム呼び出しでRAMからファイルを提供したいのです。または、少なくとも私のためにこれを行うスクリプト。 ここで可能なアプリケーションは次のとおりです。 読み取りが多くなる静的ファイルを備えたWebサーバー 大きなライブラリを持つアプリケーションサーバー RAMが多すぎるデスクトップコンピューター 何か案は? 編集: この非常に有益な情報が見つかりました:Linuxページキャッシュとpdflush Zanが指摘したように、メモリは実際には空きではありません。つまり、アプリケーションで使用されておらず、メモリにキャッシュするものを制御したいということです。

5
Linuxでは、freeコマンドによって報告される「バッファ」と「キャッシュ」の違いは何ですか?
これは私が時々見た古い質問です。私の理解はかなり限られています(かなり前に違いについて読んだことがありますが、関係するファクトイドは実際には行き詰まりません)。 私が理解したように、 バッファ アクティブなI / O操作、つまりディスクへの書き込みを待機しているデータを持つプログラムによって使用されます キャッシュ 完了したI / O操作、つまり、フラッシュされたバッファ、または要求を満たすためにディスクから読み取られたデータの結果です。 後世について明確な説明を得ることができますか?

6
パフォーマンスのためにパーティションとファイルを交換しますか?
パフォーマンスにとって何が良いですか?ディスクの内側に近いパーティションはアクセス時間が遅くなり、ドライブがOSパーティションとスワップパーティションを切り替えるのを待つ必要があります。 一方、スワップパーティションはすべてのファイルシステムをバイパスし、ファイルへの書き込みよりも高速なディスクへの直接書き込みを許可します。 パフォーマンスのトレードオフとは何ですか? 固定サイズのスワップファイルを使用すると、どの程度違いが生じますか? スワップパーティションに変更する方が長くなりますが、スワップパーティション上にある場合はスワップファイルであった場合よりもパフォーマンスが向上しますか?



2
「多くの」ページフォールトとは何ですか?
Windows 2k8でメモリオブジェクトを監視し、ページフォールト/秒カウンターを追跡しています。ページフォールトの過剰量を判断するためのしきい値はありますか?または、ページフォールトの持続的で大量のフォールトをもっと心配する必要がありますか? ページフォールトを確認するより良い方法はありますか?

1
IISのアプリケーションで使用されるメモリを制限する方法は?
IISワーカープロセスは、サーバーで大量のメモリを使用しています。各アプリケーションが使用できるメモリを制限したい。仮想メモリ制限またはプライベートメモリ制限の制限を設定する必要があるかどうかがわかりません。IISの各アプリケーションは、独自のアプリケーションプールにあります。 プライベートメモリ制限を500MBに、仮想メモリ制限を3GBに設定した場合。アプリケーションプールはいつリサイクルされますか?500MBに達した後、または3GBに達した後にリサイクルされますか。

4
Linuxでスワップサイズが常に増加し、スワップスペースが再利用されていないのですか?
4 GBのTomcatサーバーが実行されている8GB RAMのLinuxボックスがあります。それらの1つは3000MBメモリー(jvm -Xmsおよび-Xmx設定)に設定され、その他は1500MBに設定されます。スワップパーティションも8ギガに設定されています。これらのサーバーを起動すると、スワップファイルの使用率が低くなります。ただし、1日のうちの1つまたはすべてのサーバーがピーク状態にある特定の時間帯に、スワップの使用量が増加し始めます。次に、典型的なsar -r出力を示します。 kbmemfree kbmemused%memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad 48260 8125832 99.41 196440 2761852 7197688 1190912 14.20 316044 75504 8098588 99.08 198032 2399460 7197688 1190912 14.20 316032 現在使用されている14.2%のスワップを示しています。面白いことに、この%は決して減少しません。それは増加し続け、最大30-40%に達します。サーバーは毎週再起動します。 %swpusedは、ピークアクティビティの期間中に増加し、アクティビティの少ない期間中に減少すると想定します。または、少なくとも一定のままです。これは、スワップスペースがOSによって再利用されることはないようです。 freeの出力:free -mキャッシュされた使用済みの共有バッファの合計Mem:7982 7937 45 0 32 2088-/ + buffers / cache:5816 2166 Swap:8191 1163 7028 つまり、少なくとも2gの無料のRAMがあります。それで問題は、なぜスワップ領域が増え続け、OSによって解放されないのかということです。またはこれをデバッグして何が起こっているかを理解する方法..

1
SQLサーバーでバルーニングが発生
私が理解していることから、バルーニングは、ホストが物理メモリを使い果たし始めたときにのみ、90%を超える使用率で発生するはずです。3ノードのクラスター(各ホストで64 GBのRAM)でSQLサーバーを実行していて、ゲストとして8 GBのRAMが割り当てられています。過去数か月間、さまざまなシステムで断続的なパフォーマンスの問題が発生しており、SQLサーバーが定期的にメモリを膨らませているように見えることが強調されています。これは、ホストメモリが常に75%未満に留まるという事実にもかかわらずです。 私はバルーニングのトリガーを誤解していますか?2GBのバルーンはかなり定期的にはそれほど問題ではありませんか? 私は(うまくいけば)最後の数日分のメモリ監視の写真を添付し​​ました。 ESX4.1を実行しており、ゲストVMはSQL Server 2008 R2を実行するWindows Server 2008 R2です。 編集:Chopper3からのコメントで以下の提案に照らして、私たちは今夜いくつか変更を加えています。影響の少ないサーバーでの簡単なテストは適切な影響を与えたと思われるため、明日はフル稼働で実行する必要があります。私たちが最近見ているパフォーマンス関連の問題の多くを説明できます。

5
仮想メモリの使用方法を理解する> Linuxでのスワップ+物理
「トップ」に6GBの常駐メモリと70GBの仮想メモリが割り当てられていると報告しているプロセスがあります。奇妙なことに、この特定のサーバーには8 GBの物理容量と35 GBのスワップ領域しかありません。 「トップ」マニュアルから: o: VIRT -- Virtual Image (kb) The total amount of virtual memory used by the task. It includes all code, data and shared libraries plus pages that have been swapped out. (Note: you can define the STATSIZE=1 environment vari- able and the VIRT will be calculated …

1
フォークされたプロセスのセットのメモリフットプリントをどのように測定しますか?
200MBのメモリを使用するプロセスがあり、fork()sを実行するとします。 python -c "import os; data='x'*200000000; os.fork(); raw_input()" 「top」のようなプログラムは、各プロセスが200MBを使用しており、SHRdメモリが非常に少ないため、プロセスが合計で400MBを使用しているように見えます。ただし、fork()はプロセスのメモリページにコピーオンライト(COW)を実装しているため、プロセスは合計で200MBしか使用していません。 なぜtopはメモリのどの部分がCOWであるかを表示しないのですか?そうする方法はありますか?または、代わりに使用できる別のコマンドはありますか? 注:OSXの 'top'には、私が期待することを行うRSHRD列があるようです。Linuxに関する質問です。

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