mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
thr0loc.c, srv0start.c, srv0srv.c, srv0srv.h, os0thread.h, ha_innodb.cc:
Backport from 4.1: reduce InnoDB memory consumption if buf pool < 8 MB sql/ha_innodb.cc: Backport from 4.1: reduce InnoDB memory consumption if buf pool < 8 MB innobase/include/os0thread.h: Backport from 4.1: reduce InnoDB memory consumption if buf pool < 8 MB innobase/include/srv0srv.h: Backport from 4.1: reduce InnoDB memory consumption if buf pool < 8 MB innobase/srv/srv0srv.c: Backport from 4.1: reduce InnoDB memory consumption if buf pool < 8 MB innobase/srv/srv0start.c: Backport from 4.1: reduce InnoDB memory consumption if buf pool < 8 MB innobase/thr/thr0loc.c: Backport from 4.1: reduce InnoDB memory consumption if buf pool < 8 MB
This commit is contained in:
@ -1087,6 +1087,28 @@ innobase_start_or_create_for_mysql(void)
|
||||
return(DB_ERROR);
|
||||
}
|
||||
|
||||
/* Set the maximum number of threads which can wait for a semaphore
|
||||
inside InnoDB */
|
||||
#if defined(__WIN__) || defined(__NETWARE__)
|
||||
|
||||
/* Create less event semaphores because Win 98/ME had difficulty creating
|
||||
40000 event semaphores.
|
||||
Comment from Novell, Inc.: also, these just take a lot of memory on
|
||||
NetWare. */
|
||||
srv_max_n_threads = 1000;
|
||||
#else
|
||||
if (srv_pool_size >= 8 * 1024 * 1024) {
|
||||
/* Here we still have srv_pool_size counted
|
||||
in bytes, srv_boot converts the value to
|
||||
pages; if buffer pool is less than 8 MB,
|
||||
assume fewer threads. */
|
||||
srv_max_n_threads = 10000;
|
||||
} else {
|
||||
srv_max_n_threads = 1000; /* saves several MB of memory,
|
||||
especially in 64-bit
|
||||
computers */
|
||||
}
|
||||
#endif
|
||||
err = srv_boot();
|
||||
|
||||
if (err != DB_SUCCESS) {
|
||||
|
Reference in New Issue
Block a user