
私は256MBのメモリを持つLinux VPSを持っています(free
ただし、248MBしか見つかりません)。しかし、まだ85MBは空いているようです。しかし255 MB がスワップされています。これはなぜでしょうか?
free -m
total used free shared buffers cached
Mem: 248 245 3 0 41 40
-/+ buffers/cache: 163 85
Swap: 1971 255 1716
答え1
空き容量は 85MB ではなく 3MB です。使用されているスワップは 255MB で、スワップされたデータを保持するために使用できるメモリは 88MB しかないため、カーネルは少なくとも 167MB をスワップするしかありません。それ以上のスワップを行った理由は、そのメモリを最近アクセスされていないアプリケーション データを保持するために使用するよりも、ディスク キャッシュ (技術的にはページ キャッシュ) に使用した方がパフォーマンスが向上するとカーネルが判断したためです。
3MB を空けておく理由は、メモリを簡単に空けたり再利用したりできない状況で、負荷の急増を処理するためです。たとえば、ネットワーク トラフィックの急増やディスク I/O の完了時などです。