私のサーバーには、2 GB RAM、120 GB SSD、およびストレージ用のRAIDアレイもあります。オペレーティングシステムはDebian 8(Linux 3.16)です。
tmpdir
=を持つMySQL集中アプリケーションがあり、次のようにDebianで設定され/run/mysqld
ました。tmpfs
/etc/default/tmpfs
# Size limits. Please see tmpfs(5) for details on how to configure
# tmpfs size limits.
TMPFS_SIZE=40%VM
以前は約384M程度でした20%VM
。いくつかあって増やしてみたno space left on device
のに40%VM
763M程度なのに小さすぎますね。
もうメモリを追加する必要がありますが、好奇心にここで限界を知りたいです。
/dev/sdd1
/
約50GB程度の空き容量があり、かなり高速なコンピュータ(Samsung 850 EVO SSD)にインストール/dev/sdd5
私のスワップパーティションは3.7Gです(fdiskタイプIDは82です)。TMPFS_SIZE
に設定40%VM
、つまり/run
763Mを意味します
今私はtmpfsを交換できることがわかりました。私にとっては大丈夫です。 MySQLはできるだけ多くのRAMに書き込もうとしていますが、より多くのメモリが必要な場合は、システムがそれをSSDに置き換えることを許可できます。
したがって、設定では次のことができます/run
。
- 300M大きいですか?はい。これがデフォルトです。
- 1.5GBは大きいですか?はい、試してみたところ、MySQLは最大1.3 GBのスペースを使用し、システムは非常にスムーズに実行されました。ただし、これは物理メモリ+スワップパーティションの半分未満です。
- 2.5GBは大きいですか?これは物理メモリより大きいが、物理メモリ+スワップパーティションの半分未満です。
- 4GBは大きいですか?これはハーフ物理学+スワップに密接にフィットします。
- もっと? 10GBくらい?より多くのスペースを交換するために空きスペースを使用できますか
/
?
経験的に安全なルールは、TMPFS_SIZE
スワップ+物理メモリの半分以上のようです。スワップパーティションを追加せずにこれを行うことはできますか?
200%VM
そして、入れてもいいです/etc/default/tmpfs
か?私は読んだtmpfs(5)
私がこれに100%以上献身できるかどうかはわかりません。
ついに入って/etc/fstab
触れないでください/etc/default/tmpfs
。
(私が知っている限り、これだけを使用してまだmount -o remount
サーバーを再起動していません)
編集:最後の質問については修正することができます/修正することができることを知っていますが/etc/fstab
(以下のマニュアルページの引用を参照)、これまで何も触れたことがないので、ベストプラクティスを知りたいです/etc/default
。
/etc/fstabに適切なエントリを作成すると、より複雑なインストールオプションを使用できます。
ベストアンサー1
私はこれをテストできると思い、次のことを実行しました。
sudo mount -o remount,size=2800M /run
魅力のように動作します。
Filesystem Size Used Avail Use% Mounted on
tmpfs 2.8G 45M 2.7G 2% /run
だから少し追加しました。
fallocate -l 1G /run/test.img
fallocate -l 1G /run/test2.img
fallocate -l 500M /run/test3.img
結果:
Filesystem Size Used Avail Use% Mounted on
tmpfs 2.8G 2.6G 208M 93% /run
システムはまだ動作しています。スワップの可用性が低下して使用されたことを証明します。
- 17:10: 2.5GBファイルの生成
/run
- 17:20: 5億個のファイルを削除
総交換量は使用される金額だけ減少します/run
。
カーネルが再インストールを拒否するのか予期せず動作するのかわからないので、仮想マシンで10GBをテストします。
私はまだ実用的な答えを探していますが、実用的なアプローチはそれが効果的であることを示唆しています。