Ian Collins a écrit : > Hi, > I have a HP rp3410 with 4Gb RAM running HPUX 11.11. This is running, > > Version: '5.0.26-pro-log' socket: '/tmp/mysql.sock' port: 3306 MySQL > Pro (Commercial) > > When this machine is put under load (i.e, a lot of database activity), > the clients are receiving "Error 12" errors and the MySQL log has a lot > of errors as follows, > > 070327 8:24:20 [ERROR] mysql_ha_read: Got error 12 when reading table > 'XLDEFN_IN' > 070327 8:54:51 [ERROR] mysql_ha_read: Got error 12 when reading table > 'XLDEFN_IN' > 070327 8:55:19 [ERROR] mysql_ha_read: Got error 12 when reading table > 'XLDEFN_IN' > > In addition, I see at MySQL startup (in the mysql err log), a number of, > > /usr/local/mysql/bin/mysqld: Out of memory (Needed 368389120 bytes) > /usr/local/mysql/bin/mysqld: Out of memory (Needed 276289536 bytes) > > > My /etc/my.cnf is set as, > > [client] > port=3306 > socket=/tmp/mysql.sock > > [mysqld] > port=3306 > socket=/tmp/mysql.sock > set-variable = key_buffer_size=400M > set-variable = max_allowed_packet=15M > default-table-type=InnoDB > datadir=/data/mysql > > The machine is indicating it is under any ram pressure, which makes me > think it may be kernel tuning (of course, I may be wrong). Are there any > recommendations for HPUX kernel tuning with MySQL? >
Hi, You probably figured that out by now, but for the book. You're probably using a 32 bits architecture and then are limited to 4GB total memory allocation. That being said, that's the maximum you can have, but the kernel reserved a certain value for it's stack and other part. Depending of the os, it reserved from 800-2G. For example, many linuxes cannot go over 2.2Gb without seeing those errors. I'm not very familiar with HP-UX, so you may find parameter to tweak to increase that value that you can allocate, but I doubt you could get more than 3Gb so you may want to decrease your mysql settings so it doesn't allow that much memory... Example you set key_buffer_size to 400M, but default table to innodb. SO if you don't have much myisam table you can reduce that to a much lower value (say 100M?) Or you can also decrease the per thread buffer, and limit the max_connection settings... I'm sure you could find a lot more info around on the net! This http://www.mysqlperformanceblog.com/2006/05/17/mysql-server-memory-usage/ also gives a few pertinent information. If all the memory are needed and you wish to increase those esttings, I advice to consider a 64 Bits architecture as the next upgrade :) Should really help with db is starting to get tight in a 32bits one! Good luck! -- Mathieu Bruneau aka ROunofF === GPG keys available @ http://rounoff.darktech.org -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]