sehr viel RAM/Arbeitsspeicher ungenutzt / unbenutzt / frei

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

sehr viel RAM/Arbeitsspeicher ungenutzt / unbenutzt / frei

Postby konas » 06. October 2014 09:53

Hallo,

Ich habe 16 GB Ram
Windows 7 64 Bit
und XAMPP laufen.

Image

meine Fragen:
1. Wieso nutzt mysql nicht den vollen Arbeitsspeicher aus?
Knapp 9377 MB sind Frei und nicht benutzt lt. Taskmanager.

2.laut Taskmanager sind nur noch 7.612 kb in der Spalte "Freigabe möglich" bei mysql.exe:
Kann ich diesen Wert erhöhen, damit die mysql den freien Arbeitsspeicher (Knapp 9377 MB) nutzt?


bei apache hab ich folgenden wert:
Code: Select all
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = -1


bislang habe ich nur die innodb_buffer_pool_size = 1200M verändert.
in meiner PHP.ini:

Code: Select all
# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
# You can copy this file to
# C:/_SERVER/mysql/bin/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is C:/_SERVER/mysql/data) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client]
# password       = your_password
port            = 3306
socket          = "C:/_SERVER/mysql/mysql.sock"


# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port= 3306
socket = "C:/_SERVER/mysql/mysql.sock"
basedir = "C:/_SERVER/mysql"
tmpdir = "C:/_SERVER/tmp"
datadir = "C:/_SERVER/mysql/data"
pid_file = "mysql.pid"
# enable-named-pipe
key_buffer = 16M
max_allowed_packet = 1M
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
log_error = "mysql_error.log"

# Change here for bind listening
# bind-address="127.0.0.1"
# bind-address = ::1          # for ipv6

# Where do all the plugins live
plugin_dir = "C:/_SERVER/mysql/lib/plugin/"

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
#
# commented in by lampp security
#skip-networking
skip-federated

# Replication Master Server (default)
# binary logging is required for replication
# log-bin deactivated by default since XAMPP 1.4.11
#log-bin=mysql-bin

# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id   = 1

# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods :
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
#    the syntax is:
#
#    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
#    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
#
#    where you replace <host>, <user>, <password> by quoted strings and
#    <port> by the master's port number (3306 by default).
#
#    Example:
#
#    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
#    MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# OR
#
# 2) Set the variables below. However, in case you choose this method, then
#    start replication for the first time (even unsuccessfully, for example
#    if you mistyped the password in master-password and the slave fails to
#    connect), the slave will create a master.info file, and any later
#    change in this file to the variables' values below will be ignored and
#    overridden by the content of the master.info file, unless you shutdown
#    the slave server, delete master.info and restart the slaver server.
#    For that reason, you may want to leave the lines below untouched
#    (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 2 and 2^32 - 1
# (and different from the master)
# defaults to 2 if master-host is set
# but will not function as a slave if omitted
#server-id       = 2
#
# The replication master for this slave - required
#master-host     =   <hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user     =   <username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password =   <password>
#
# The port the master is listening on.
# optional - defaults to 3306
#master-port     =  <port>
#
# binary logging - not required for slaves, but recommended
#log-bin=mysql-bin


# Point the following paths to different dedicated disks
#tmpdir = "C:/_SERVER/tmp"
#log-update = /path-to-dedicated-directory/hostname

# Uncomment the following if you are using BDB tables
#bdb_cache_size = 4M
#bdb_max_lock = 10000

# Comment the following if you are using InnoDB tables
#skip-innodb
innodb_data_home_dir = "C:/_SERVER/mysql/data"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "C:/_SERVER/mysql/data"
#innodb_log_arch_dir = "C:/_SERVER/mysql/data"
## You can set .._buffer_pool_size up to 50 - 80 %
## of RAM but beware of setting memory usage too high
[b]innodb_buffer_pool_size = 1200M[/b]
innodb_additional_mem_pool_size = 2M
## Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

## UTF 8 Settings
#init-connect=\'SET NAMES utf8\'
#collation_server=utf8_unicode_ci
#character_set_server=utf8
#skip-character-set-client-handshake
#character_sets-dir="C:/_SERVER/mysql/share/charsets"

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
konas
 
Posts: 3
Joined: 06. October 2014 09:27
Operating System: Windows 7

Re: sehr viel RAM/Arbeitsspeicher ungenutzt / unbenutzt / fr

Postby Nobbie » 06. October 2014 10:17

konas wrote:1. Wieso nutzt mysql nicht den vollen Arbeitsspeicher aus?


Wozu sollte MySQL das tun?? Das hilft bei gar nichts, außer dass dann andere Programme keinen Speicherplatz mehr bekommen.

So oder ist Xampp für Windows im Moment noch eine 32-bit Applikation (inkl. MySQL), da kann ein Windows Prozess sowieso nur max. 2GB belegen.
Nobbie
 
Posts: 8780
Joined: 09. March 2008 13:04

Re: sehr viel RAM/Arbeitsspeicher ungenutzt / unbenutzt / fr

Postby konas » 06. October 2014 10:29

32-bit Applikation (inkl. MySQL), da kann ein Windows Prozess sowieso nur max. 2GB belegen.


achso! Danke für deine schnelle Antwort.
Sollte ich dann XAMPP unter Linux installieren, um einem Prozess mehr als 2 GB zur Verfügung stellen zu können?
konas
 
Posts: 3
Joined: 06. October 2014 09:27
Operating System: Windows 7

Re: sehr viel RAM/Arbeitsspeicher ungenutzt / unbenutzt / fr

Postby Nobbie » 06. October 2014 10:44

Warum? MySQL benutzt doch nicht einmal die 2GB. Das ganze nützt doch nur etwas, wenn der Prozess auch so viel Speicherplatz benötigt, aber das ist offensichtlich nicht der Fall.

Ansonsten spricht nichts gegen eine Linux Installation, finde ich sowieso besser, aber die Idee, einfach irgendwie tonnenweise Speicher zu verbraten, erschließt sich mir nicht. 16GB ist aus meiner Sicht auch rausgeworfenes Geld, meine Rechner haben alle nur 4GB und ich hatte noch nie ein Problem damit.
Nobbie
 
Posts: 8780
Joined: 09. March 2008 13:04

Re: sehr viel RAM/Arbeitsspeicher ungenutzt / unbenutzt / fr

Postby konas » 06. October 2014 12:08

Ich hab ein Script, das Daten in eine Tabelle einpflegt.
Und meine Grundidee war folgende:
Mehr RAM -> Mehr Rechenleistung -> schnellere Verarbeitung
Deshalb wollte ich den "freien" Arbeitsspeicher auf die mysql verteilen, damit die Datenbank schneller arbeitet.
Aber wenn Windows pro Prozess und damit der mysql immer nur 2 GB zur Verfügung stellen kann,
ist wirklich ein 16 GB rausgeworfenenes Geld... meine Überlegungen gehen nun dahin eine VirutalBOX auf zu machen und 4 Instanzen mit je 2 GB und je XAMPP laufen zu lassen ...
mal schauen was das wird.
konas
 
Posts: 3
Joined: 06. October 2014 09:27
Operating System: Windows 7

Re: sehr viel RAM/Arbeitsspeicher ungenutzt / unbenutzt / fr

Postby Nobbie » 06. October 2014 19:32

konas wrote:Mehr RAM -> Mehr Rechenleistung -> schnellere Verarbeitung
Deshalb wollte ich den "freien" Arbeitsspeicher auf die mysql verteilen, damit die Datenbank schneller arbeitet..


Das ist ein fataler Irrtum - mehr RAM bedeutet dann (und nur dann!) mehr Rechenleistung, wenn der Rechner nicht genügend RAM hat und deswegen "swappt". Ansonsten ist mehr RAM einfach nur sinnlos. Und nach wie vor ist für Rechenleistung die CPU wichtig, nicht der RAM.

Es stellt sich da auch die Frage, wie groß sind denn Deine Tabellen? Nur mal als Rechenbeispiel: eine Tabelle mit verschiedenen Feldern, die insgesamt 512 Byte belegen (das ist schon ordentlich), braucht 2 Millionen(!) Datensätze, um insgesamt 1GB Speicher zu belegen. Aber 2 Millionen Datensätze sind schon Holz, hast Du so umfangreiche Tabellen?

konas wrote:ist wirklich ein 16 GB rausgeworfenenes Geld... meine Überlegungen gehen nun dahin eine VirutalBOX auf zu machen und 4 Instanzen mit je 2 GB und je XAMPP laufen zu lassen ...
mal schauen was das wird.


Eine VirtualBox bedeutet einen Rechenleistungsverlust von ca. 80%, d.h. die virtuelle Maschine frisst soviele CPU Leistung, dass innerhalb der Maschine nur ca. 20-25% überhaupt übrig bleiben. Da ist es um Welten performanter, mehrere Billigrechner mit leichterer CPU aufzusetzen.
Nobbie
 
Posts: 8780
Joined: 09. March 2008 13:04


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 8 guests