Ubaidul,
ok, there is nothing in my.cnf that can explain why memory runs out.
What kind of query are you running when the memory runs out? Does 'top' show
that the mysqld process size grows uncontrollably?
If you are using the C client interface, do you use 'mysql_store_result()'
or 'mysql_use_result()'? For huge resultsets, one of them uses a huge amount
of memory in the server.
Best regards,
Heikki
Oracle Corp./Innobase Oy
InnoDB - transactions, row level locking, and foreign keys for MySQL
InnoDB Hot Backup - a hot backup tool for InnoDB which also backs up MyISAM
tables
http://www.innodb.com/order.php
----- Original Message -----
From: ""Ubaidul Khan"" <[EMAIL PROTECTED]>
Newsgroups: mailing.database.myodbc
Sent: Thursday, March 23, 2006 11:06 PM
Subject: RE: MySQL malloc error on Solaris
Following is the configuraton of mysqld:
<------------------------- Excerpt from my.cnf ------------------------->
# The MySQL server
[mysqld]
user = mysql
port = 4406
socket = /tmp/mysql.sock
#socket = /tmp/mysql_4.0.13.sock
set-variable = max_connections=150
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
myisam_sort_buffer_size = 8M
local-infile = 0
# Clients authenticate to server must do so by the IP only
skip-name-resolve
# Display only the databases the authenticated user has privileges to
safe-show-database
# 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!
#
#skip-networking
# Replication Master Server (default)
# binary logging is required for replication
#log-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 = /usr/local/mysql/var/myupdate-bin.log
# Point the following paths to different dedicated disks
#tmpdir = /tmp/
#log-update = /usr/local/mysql/var/myupdate.log
# Logs connections and queries to file. Use for troubleshooting,
disable
afterward
s
#log = /usr/local/mysql/var/myquery.log
# Uncomment the following if you are using BDB tables
#bdb_cache_size = 4M
#bdb_max_lock = 10000
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /opt/mysql_4.0.13/var/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /opt/mysql_4.0.13/var/
#innodb_log_arch_dir = /opt/mysql_4.0.13/var/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#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
[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
<------------------------- End of excerpt ------------------------->
From: "Ubaidul Khan" <[EMAIL PROTECTED]>
To: mysql@lists.mysql.com
Subject: MySQL malloc error on Solaris
Date: Mon, 20 Mar 2006 13:30:14 -0500
Hello,
We are running MySQL 4.0.13 on Solaris 8 UltrSPARC with 2048 MB of RAM.
This machine has plenty of swap space and has worked fine for over a year
now. Out of the blue, it stopped working yesterday and after looking
through the error logs, following is what I found:
<------------------------- Error Message ------------------------->
key_buffer_size=16777216
read_buffer_size=131072
Fatal signal 11 while backtracing
060319 16:19:46 mysqld restarted
Warning: Ignoring user change to 'mysql' because the user was set to
'mysql' earlier on the command
line
InnoDB: Fatal error: cannot allocate 48 bytes of
InnoDB: memory with malloc! Total allocated memory
InnoDB: by InnoDB 3879876 bytes. Operating system errno: 11
InnoDB: Cannot continue operation!
InnoDB: Check if you should increase the swap file or
InnoDB: ulimits of your operating system.
InnoDB: On FreeBSD check you have compiled the OS with
InnoDB: a big enough maximum process size.
InnoDB: We now intentionally generate a seg fault so that
InnoDB: on Linux we get a stack trace.
mysqld got signal 11;
This could be because you hit a bug. It is also possible that this
binary
or one of the libraries it was linked against is corrupt, improperly
built,
or misconfigured. This error can also be caused by malfunctioning
hardware.
We will try our best to scrape up some info that will hopefully help
diagnose
the problem, but since we have already crashed, something is
definitely
wrong
and this may fail.
key_buffer_size=16777216
read_buffer_size=131072
060319 16:19:47 mysqld ended
<------------------------- End of Error Message ------------------------->
Would increasing shared memory max, make a difference?
Thanks
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
_________________________________________________________________
Don’t just search. Find. Check out the new MSN Search!
http://search.msn.click-url.com/go/onm00200636ave/direct/01/
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]