Вопрос

Я запустил MySQLTuner, чтобы проверить конфигурацию базы данных MySQL, и он сообщил об этой проблеме:

[!!] Maximum possible memory usage: 40.9G (1022% of installed RAM)

Эти цифры получены в результате вычислений max_connections умножается на read_buffer_size + sort_buffer_size + join_buffer_size в my.cnf файл, который фактически дает 40Гб.

Однако на сервере 128 ГБ оперативной памяти.Похоже, что MySQL видит только 4 ГБ.

Сначала я подумал, что это потому, что 32-битный двоичный файл MySQL в 64-битной ОС может эффективно получить доступ только к 4 ГБ ОЗУ..Однако как двоичный файл MySQL, так и ОС являются 64-битными:

root@box# isainfo -v
64-bit amd64 applications
        pclmulqdq aes sse4.2 sse4.1 ssse3 popcnt tscp ahf cx16 sse3 sse2 sse 
        fxsr mmx cmov amd_sysc cx8 tsc fpu 
32-bit i386 applications
        pclmulqdq aes sse4.2 sse4.1 ssse3 popcnt tscp ahf cx16 sse3 sse2 sse 
        fxsr mmx cmov sep cx8 tsc fpu 

root@box# uname -a
SunOS box 5.11 11.2 i86pc i386 i86pc

root@box# file /usr/local/bin/mysql
/usr/local/bin/mysql:  ELF 64-bit LSB executable AMD64 Version 1 [SSE2 SSE FXSR CMOV FPU], dynamically linked, not stripped

и нет ограничений на объем памяти, к которому может получить доступ процесс:

root@box# ulimit -a
address space limit (kbytes)   (-M)  unlimited
core file size (blocks)        (-c)  unlimited
cpu time (seconds)             (-t)  unlimited
data size (kbytes)             (-d)  unlimited
file size (blocks)             (-f)  unlimited
locks                          (-x)  not supported
locked address space (kbytes)  (-l)  not supported
message queue size (kbytes)    (-q)  not supported
nice                           (-e)  not supported
nofile                         (-n)  256
nproc                          (-u)  29995
pipe buffer size (bytes)       (-p)  5120
max memory size (kbytes)       (-m)  not supported
rtprio                         (-r)  not supported
socket buffer size (bytes)     (-b)  5120
sigpend                        (-i)  128
stack size (kbytes)            (-s)  8192
swap size (kbytes)             (-w)  not supported
threads                        (-T)  not supported
process size (kbytes)          (-v)  unlimited

Есть ли другой способ узнать, сколько памяти эффективно использует MySQL?

(Если вы спросите, оболочка — это tcsh;Я не могу пометить публикацию как «tcsh» из-за недостаточных прав.)

Это было полезно?

Решение

Это не проблема MySQL - сам MySQLTuner не может видеть больше памяти, если он работает с 32-битным интерпретатором Perl.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top