Mon serveur a 2 Go de RAM et 120 Go de SSD, ainsi que des matrices RAID pour le stockage. Le système d'exploitation est Debian 8 (Linux 3.16).
J'ai une application MySQL intense qui a tmpdir
= /run/mysqld
, qui est tmpfs
configurée par Debian via /etc/default/tmpfs
:
# Size limits. Please see tmpfs(5) for details on how to configure
# tmpfs size limits.
TMPFS_SIZE=40%VM
C'était le cas 20%VM
, ce qui représente environ 384 millions de dollars. J'ai couru contre plusieurs no space left on device
, donc je l'ai augmenté à 40%VM
, mais même avec environ 763M, il est encore trop petit.
Maintenant, je dois maintenant ajouter plus de RAM, mais par curiosité, j'aimerais connaître les limites ici.
/dev/sdd1
est monté sur/
a environ 50 Go d'espace libre et est assez rapide (Samsung 850 EVO SSD)/dev/sdd5
est ma partition de swap, elle est de 3,7 G (l'ID de type fdisk est 82)TMPFS_SIZE
est défini sur40%VM
, ce qui signifie/run
763M
Maintenant, je sais que tmpfs peut échanger, ce qui me convient. Je veux que MySQL écrive dans la RAM autant que possible, mais s'il a besoin de plus de mémoire, je peux autoriser le système à l'échanger sur le SSD.
Donc avec ma configuration, puis-je pousser /run
à être:
- 300M gros? Oui. C'était le défaut.
- 1,5 Go gros? Oui, essayé, MySQL a utilisé jusqu'à 1,3 Go et le système a fonctionné comme un charme. Mais c'est toujours moins de la moitié de la mémoire physique + partition de swap.
- 2,5 Go gros? C'est plus que de la mémoire physique, mais moins de la moitié de la mémoire physique + ma partition de swap.
- 4 Go gros? Cela s'inscrirait étroitement dans la moitié physique + swap
- Plus? comme 10 Go? peut-il utiliser de l'espace libre
/
pour échanger davantage?
Je suppose que la règle de base pour la sécurité est de ne TMPFS_SIZE
pas avoir plus de swap + la moitié de la mémoire physique. Puis-je aller au-delà sans augmenter la partition de swap?
Aussi, est - il possible de mettre 200%VM
en /etc/default/tmpfs
? J'ai lu tmpfs(5)
sans savoir si je peux mettre> 100% à ce sujet.
Enfin, dois-je le faire à la /etc/fstab
place et ne pas toucher /etc/default/tmpfs
?
(jusqu'à savoir que je ne l'ai fait qu'avec mount -o remount
, je n'ai pas encore redémarré le serveur)
Edit: pour la dernière question, je sais qu'elle peut / peut être modifiée par /etc/fstab
(voir la citation ci-dessous de la page de manuel), mais je voulais connaître la meilleure pratique, car je n'ai jamais rien touché /etc/default
jusqu'à présent.
Des options de montage plus complexes peuvent être utilisées par la création d'une entrée appropriée dans / etc / fstab.