
mysqlが動いているdbサーバでのswapの使い方について質問します
50GBのメモリが搭載されているサーバで、swap領域は4GBに設定されています。
このサーバでalterなどをクエリ実行した後に、使われるswap領域が500MB⇒2.2GBまで増加しました
swapが使われているのですが、実際のメモリ空きは25GB程度あります
私の中では、物理メモリいっぱいまで使われた時に初めてswap領域が使われる事になるのかと
思っていますが、25GB程度のメモリ空きがあるのにswap使われた原因がよくわかりません
そこで、4点ほど質問します
冗長となりますがよろしくお願いします
- 1.
システム領域でのメモリ空きがあるのに、swapが使われた理由は、
msyql側に割り当てられたメモリが足りなかった事でswapが使われたと考えていいでしょうか
- 2.
alterクエリ発行作業が完了後、vmstatコマンドsoの値は0です。
クエリ作業にあたってswap outが使われたならが、swap領域が解放されていくと思うのですが、
swapのused領域は解放されていきません
使われたswap領域は解放していかないのでしょうか
- 3.
そもそも、物理メモリ50GBに対して4GBのswap領域しか割り当てていない事も少しは問題があるのかと思いますが、
10年前のように、物理メモリの2倍をswap領域に割り当てる事が今も推奨されていると考えていいのでしょうか
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/ch-swapspace.html#s1-swap-what-is
を見ると、
Swap は、物理 RAM サイズが 2 GB までは、物理 RAM の2倍として、2 GB を超えると、1物理 RAM ごとに同量を追加します
とあります。みなさんも運用しているサーバで2×2+物理メモリ量をswapに割り当てているのでしょうか
- 4.
swap領域を8GBまで拡張したところ、拡張前後のfreeコマンド結果を確認したところ、
Mem: usedの値が拡張後に6GB程度増加しました。
拡張後にmemory used領域が増加した理由は何が考えられるのでしょうか
▼拡張前
[root@abc ~]# free -m total used free shared buffers cached Mem: 50319 40420 10899 0 153 3770 -/+ buffers/cache: 36495 15824 Swap: 4095 2253 1842
▼拡張後
[root@abc ~]# free -m
total used free shared buffers cached
Mem: 50319 46123 4096 0 154 7426
-/+ buffers/cache: 36542 15777
Swap: 8191 2253 5938
回答1件
あなたの回答
tips
プレビュー