2014-05-18 8 views
12

Ho appena installato una nuova copia dell'ultimo XAMPP e avviato Apache e MySQL. Controllato il task manager e per impostazione predefinita vuoto MySQL senza database in esecuzione mangia oltre 400 MB di ram dal nulla mentre non è in uso e quando inattivo. Per esempio. è bloccato a 421,6 MB.MYSQL di XAMPP utilizza oltre 400 MB di RAM

Quindi, mi stavo solo chiedendo se questo dovrebbe essere così? Funzionando su Win8 x64 Pro.

risposta

24

Non è normale, utilizza molto RAM per niente .. lo stesso sul mio sistema, con un DB con 4 tabelle e circa ~ 30 record.

Per significativamente (!) Abbassare l'utilizzo di RAM, è sufficiente aggiungere la seguente riga al config sotto

[mysqld] 
table_definition_cache = 200 

che dovrebbe fare il trucco

(almeno lo ha fatto per me, correre XAMPP 1.8 .3-2 MySQL 5.6.14)

+0

Se hai già seguito tutte le altre modifiche alle prestazioni online inutilmente, ** questa impostazione è davvero cruciale **. Cambiare il mio 'table_definition_cache' dal 1400 fino a 400 ha abbandonato l'utilizzo della mia RAM (immediatamente dopo l'avvio del servizio) da 500+ MB fino a 160 MB. Peccato che gli effetti RAM di questa impostazione non siano stati meglio documentati nel file .ini. –

4

Questo è troppo lungo per un commento.

Solo 400 Mbyte? Non è molto per un database e non molto per un computer moderno. È possibile correggere i parametri per utilizzare più memoria. Se si utilizza un dispositivo con memoria limitata, è possibile prendere in considerazione il database SQLite.

Più seriamente, i database utilizzano molta memoria per aumentare le prestazioni. Il codice stesso non è piccolo. Anche senza dati, i database riservano spazio per qualcosa chiamato cache di pagina e per varie altre cache in memoria. Questi si riempiono man mano che vengono usati. In genere, è possibile impostare una soglia per la dimensione totale della memoria, in modo che l'immagine della memoria non cresca più del massimo, anche quando i dati sono molto, molto, molto più grandi.

La documentazione di MySQL parla dell'uso della memoria here. Here è un altro articolo sull'utilizzo della memoria.

+0

Un altro articolo, http://www.tocker.ca/2014/03/10/configuring-mysql-to-use-minimal-memory.html –

1

Sion ha la risposta corretta, ho risolto lo stesso problema a pochi minuti fa l'aggiunta di questa linea in my.ini

Non conosco la rilevanza del valore assegnato, l'ho appena trovato in un altro sito Web e ha funzionato per me quindi non so se si modifica il valore su 100/200 o qualsiasi cosa faccia sì che mysql usi più o meno memoria, I appena può dire mysqld è ormai consumando circa 60-80MB invece di 400MB

esecuzione Mysql 5.6.16 su XAMPP 1.8.3

1

table_definition_cache ha lavorato anche per me. Sto usando solo 80 MB ora rispetto a quasi 500 MB di RAM. Questo è molto importante per quelli di noi che devono usare XAMPP localmente