没有访问的时候innodb buffer pool的free buffers是0

时间:2022-08-16 03:58:07
mysql此时没有外部查询,但是innodb buffer pool的free buffers却是0,是为什么啊?mysql占用了innodb buffer pool之后不自动释放回收吗?

----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 26373783552; in additional pool allocated 0
Dictionary memory allocated 15260350
Buffer pool size   1572857
Free buffers       0
Database pages     1524610
Old database pages 562631
Modified db pages  0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 991075, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 693942, created 2660192, written 14410406
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
No buffer pool page gets since the last printout
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 1524610, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]

谢谢

5 个解决方案

#1



mysql不会自动释放的,其他数据库,比如sql server也不会自动释放。

#2



这个free buffer为0说明你的buffer pool 内存还不够用

#3


难道缓存的数据自动释放  然后用的时候再从硬盘中取出来吗

#4


引用 2 楼 yupeigu 的回复:
这个free buffer为0说明你的buffer pool 内存还不够用


我加内存试试

#5


引用 3 楼 rucypli 的回复:
难道缓存的数据自动释放  然后用的时候再从硬盘中取出来吗


这几天没有做测试,没有访问数据库的,buffer pool一直不释放....

#1



mysql不会自动释放的,其他数据库,比如sql server也不会自动释放。

#2



这个free buffer为0说明你的buffer pool 内存还不够用

#3


难道缓存的数据自动释放  然后用的时候再从硬盘中取出来吗

#4


引用 2 楼 yupeigu 的回复:
这个free buffer为0说明你的buffer pool 内存还不够用


我加内存试试

#5


引用 3 楼 rucypli 的回复:
难道缓存的数据自动释放  然后用的时候再从硬盘中取出来吗


这几天没有做测试,没有访问数据库的,buffer pool一直不释放....