MySQLTuner는 왜 4GB의 RAM만 볼 수 있나요?
-
26-09-2020 - |
문제
MySQL 데이터베이스의 구성을 확인하기 위해 MySQLTuner를 실행했는데 다음과 같은 문제가 보고되었습니다.
[!!] Maximum possible memory usage: 40.9G (1022% of installed RAM)
이 수치는 컴퓨팅에서 나온 것입니다. max_connections
곱셈 read_buffer_size
+ sort_buffer_size
+ join_buffer_size
에서 my.cnf
파일은 효과적으로 40Gb를 제공합니다.
그러나 서버에는 128GB의 RAM이 있습니다.MySQL에서는 4GB만 볼 수 있는 것으로 보입니다.
처음에는 이것 때문인 줄 알았습니다. 64비트 OS의 MySQL 32비트 바이너리는 4GB RAM에만 효과적으로 액세스할 수 있습니다..그러나 MySQL 바이너리와 OS는 모두 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 인터프리터로 실행되는 경우 더 많은 메모리를 볼 수 없습니다.
제휴하지 않습니다 dba.stackexchange