我使用相同的WAMP版本几个月,从未在内存使用任务管理器列表的顶部看到mysqld.exe。 (它停留在442 664 K)。
问题从今天开始。
我没有碰过my.ini。
今天我所做的就是改变php.ini,(添加xdebug的东西)但是把这个442 MB的所有更改和内存使用量都改回来了。
my.ini(部分)
# The MySQL server
[wampmysqld]
port = 3306
socket = /tmp/mysql.sock
key_buffer_size = 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
[mysqldump]
quick
max_allowed_packet = 16M
[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
php.ini(我今天进行更改的部分以及有资源限制和内存提及的部分)
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 800
max_input_time = 600
max_input_vars = 2500
memory_limit = 512M
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
report_memleaks = On
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=php_bz2.dll
extension=php_curl.dll
extension=php_com_dotnet.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_intl.dll
extension=php_imap.dll
;extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_oci8_11g.dll
;extension=php_opcache.dll
;zend_extension=php_opcache.dll
zend_extension="C:\wamp\bin\php\php5.5.12\ext\php_opcache.dll"
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
extension=php_shmop.dll
;extension=php_snmp.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
;;;;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;;;;
[MySQL]
mysql.cache_size = 2000
[opcache]
opcache.memory_consumption=128
;opcache.preferred_memory_model=
;opcache.protect_memory=0
; XDEBUG Extension
zend_extension = "c:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll"
;[xdebug]
; xdebug.remote_handler=dbgp
; xdebug.remote_mode=req
; xdebug.remote_host=127.0.0.1
; xdebug.remote_port=9000
; xdebug.idekey="netbeans-xdebug"
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "c:/wamp/tmp"
xdebug.show_local_vars=0
xdebug.max_nesting_level=250
xdebug.var_display_max_depth = 5
xdebug.var_display_max_children = 256
xdebug.var_display_max_data = 1024
编辑: 两天后,我没有使用MySql,mysqld.exe任务使用~7MB。我不知道原因,我留下这个问题。
答案 0 :(得分:4)
是的,MySQL的更高版本使用的默认值确实让小家伙感到饥渴,
我已经使用它来减少内存需求,而对MYISAM或INNODB数据库的速度没有任何明显影响。
修改my.ini并在[wampmysqld]
部分
[wampmysqld]
# reduce mem size for MYISAM usage
table_definition_cache = 600
哦,如果您使用的是64位WAMPServer,则会出现一个小问题,请确保[wampmysqld]
部分读取[wampmysqld64]
以及添加上述行,否则它将无效。