web-dev-qa-db-ja.com

MySQLサーバーに必要なメモリ量を確認するにはどうすればよいですか?

いくつかのアプリ用のMySQL専用の仮想サーバーがあります。 256MBのサーバーです。現在、そこにはほとんどデータがありませんが、free -mは完全なメモリ使用量を示します:

             total       used       free     shared    buffers     cached
Mem:           245        197         47          0         23        120
-/+ buffers/cache:         53        192
Swap:          511          2        509

これはUbuntu10.04にあります。すべての構成設定はデフォルトのIIRCです-キーバッファーは16、クエリキャッシュは16です(一部が欠落している可能性があります)

したがって、データがほとんどなく、バッファの特別な設定がない場合は、256をはるかに下回る値を使用する必要があるように思われます。256は、OS + MySQLが最近必要としているものの下位テーブルにすぎませんか?

3
John Bachir

ジェフが述べたように、Linuxでの使用数は混乱を招く可能性があります。 Linuxは、アクセスしたファイルのコピーをRAMに自動的に保持します。再度必要な場合は、ディスクに戻るよりもすばやくアクセスできます。プログラムの実行でさらにRAMが必要な場合は、これらのキャッシュされたアイテムを完全に破棄できます。これは理にかなっています。残念ながら、freeコマンドは、キャッシュされたアイテムを含む方法で数値を表示します。ファイルを作成し、RAMがほとんど不足しているように見せます。

あなたは本当に最初の行よりも2番目の行を見たいと思っています。これは、バッファ/キャッシュデータが含まれていない場合のメモリ使用量です。あなたの場合、53MBを使用していて、192MBの空き容量があることを示しています。


-クリストファー・カレル

3

RAMは、ハードドライブよりも高速なストレージに頻繁に使用されるビットを保持するために使用されます。 freeの右端の列は、RAMの半分がハードドライブからのキャッシュに使用されていることを示しています。

すべてのRAMを使用していない場合は、リソースを浪費しています。メモリが不足している状況でキャッシュをドロップすることは事実上無料ですが、何かがキャッシュされていない場合のディスクからの読み取りは桁違いに遅くなります。

2
Jeff McJunkin