キャッシュスワップが意味をなすのはなぜですか?


9

スワップアウトされたページをキャッシュすることは、私にとって非常に逆効果に思えます。ページをスワップインする場合、それらを最初にメモリにキャッシュする利点は何ですか?それらを正しい場所に移動する必要があるだけですか?ページが積極的に入れ替えられたとしても、それらを「単に」入れ替えるほうが理にかなっていますか?実際、スワップをキャッシュすることは単なるリソースの浪費ではないのですか?


あなた、奥様/ご主人様、質問に対して私から特別なポイントを差し上げます。2回賛成票を投じたいと思います。
Eli Frey

回答:


12

さらに調査を重ねた結果、SwapCachedの用語/proc/meminfoは誤解を招くことがわかりました。実際、これはメモリとスワップで同時に発生するバイト数に関連しているため、これらのページがダーティでない場合、スワップアウトする必要はありません。


2
これは、キャッシュされるのとほとんど同じですよね。つまり、WRTはカーネルのメモリ管理システムであり、「キャッシュ」は「ディスク上とRAM内の両方」を意味します。
SamB

0

これについて聞いたこともないし、私にとってもあまり意味がありません。私はまだ、それがまったく交換しないことを確認するという古き良きルール(もちろん、予約を除いて)が最善だと思います。理論的には、ディスクのように遅いものからロードするのに時間がかかる直接利用可能なメモリへのキャッシュは、明らかに利点があります。しかし、スワップされるページをキャッシュできる場合、なぜ最初に再びスワップするのですか?


0

スワップとRAMの間でページが複製されるのは、次のいずれかの場合にディスクを待機しないようにするためです。

  1. 何かを読む必要があります

  2. 彼らは何か他の場所を作るために追い出される必要があります

スワップだけの場合、ケース1は、ディスクからの受信を待つことを意味します。それらがRAMのみにある場合、ケース2は、それらがディスクに移動するのを待つことを意味します。

(もちろん、ケース2は実際には少し複雑です。そのようなページを削除する方が明らかにコストが安いため、カーネルが優先的にそれらを削除する可能性がありますが、要点は明確です。)

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