数日前、ディスクI / Oの待機とディスクアクティビティの低下に気付きました(これは素晴らしいことでした)。次に、キャッシュがいっぱい(*)で断片化していることにも気付きました。次に、キャッシュをフラッシュしました。その後、ディスク遅延とディスクアクティビティは以前のレベルに跳ね上がりました(これは悪かった)。
IOtopは、[jbd2 / sda2-8]と[flush-8:00]が常にディスク使用率の上にあることを示しています。これは、Dell R210、ハードウェアRAID 1(H200)、大量の空きメモリ(合計16 GB、そのうち約8 GBがバッファ/キャッシュ)です。
(*)キャッシュはPHP用のAPC opcodeキャッシュであり、PHPスクリプト実行のためのディスクアクセスを削減します。開発インスタンスのファイルが含まれているため、キャッシュがいっぱいで断片化していました。それに気づいたとき、私はそれらを除外しました。
問題は、理論的にはディスクI / Oが減少するはずなのに、なぜ増加するのかということです。以下は、muninのグラフです。2月6日から8日までキャッシュがいっぱいでした。
@ cyberx86の指示に従ってapc.mmap_file_maskをコメントアウトした後の変更
apc.mmap_file_mask=/tmp/apc.XXXXXX
)を使用すると、I / Oが上昇する可能性があります。apc.mmap_file_mask
共有メモリを使用するように設定してみてください(例:)/apc.shm.XXXXXX
または/dev/zero
(匿名のmmappedメモリ)。