Il mio server ha 2 GB di RAM e 120 GB di SSD, oltre ad alcuni array RAID per l'archiviazione. Il sistema operativo è Debian 8 (Linux 3.16).
Ho un'applicazione intensa di MySQL che ha tmpdir
= /run/mysqld
, che è tmpfs
configurata da Debian attraverso /etc/default/tmpfs
:
# Size limits. Please see tmpfs(5) for details on how to configure
# tmpfs size limits.
TMPFS_SIZE=40%VM
Questo era 20%VM
, che è di circa 384 milioni. Ho corso contro diversi no space left on device
, quindi l'ho aumentato a 40%VM
, ma anche con circa 763M è ancora troppo piccolo.
Ora ora dovrei aggiungere più RAM, ma per curiosità, vorrei conoscere i limiti qui.
/dev/sdd1
è montato/
ha circa 50 GB gratuiti ed è abbastanza veloce (Samsung 850 EVO SSD)/dev/sdd5
è la mia partizione di swap, è 3.7G (ID tipo fdisk è 82)TMPFS_SIZE
è impostato su40%VM
, il che significa/run
763M
Ora so che tmpfs può scambiarsi, il che va bene per me. Voglio che MySQL scriva su RAM ogni volta che è possibile, ma se ha bisogno di più memoria, posso consentire al sistema di scambiarlo sull'SSD.
Quindi, con la mia configurazione, posso spingere /run
per essere:
- 300M di grandi dimensioni? Sì. Quello era il default.
- 1,5 GB di larghezza? Sì, provato, MySQL ha usato fino a 1,3 GB e il sistema ha funzionato come un fascino. Ma questa è ancora meno della metà della memoria fisica + partizione di swap.
- 2,5 GB grandi? Questo è più della memoria fisica, ma meno della metà della memoria fisica + la mia partizione di swap.
- 4 GB grandi? Questo si adatterebbe perfettamente a metà + scambio fisico
- Di Più? come 10 GB? può usare lo spazio libero su
/
per scambiare di più?
Immagino che la regola empirica per sicurezza sia quella di TMPFS_SIZE
non avere più di swap + mezza memoria fisica. Posso andare oltre senza aumentare la partizione di swap?
Inoltre, è possibile mettere 200%VM
in /etc/default/tmpfs
? Ho letto tmpfs(5)
senza sapere se posso mettere> 100% su questo.
Infine, dovrei farlo /etc/fstab
invece e non toccare /etc/default/tmpfs
?
(per sapere che l'ho fatto solo con mount -o remount
, non ho ancora riavviato il server)
Modifica: per l'ultima domanda, so che può / può essere modificato da /etc/fstab
(vedi citazione sotto dalla pagina man), tuttavia volevo conoscere la migliore pratica, perché non ho mai toccato nulla /etc/default
finora.
Opzioni di mount più complesse possono essere usate dalla creazione di una voce adatta in / etc / fstab.