Skip to content
Discussion options

You must be logged in to vote

前置知识

java程序的内存:

  • 堆内存(虚拟机自己管理)
  • 堆外内存(内存直接受操作系统管理,而不是虚拟机)

使用堆外内存的优点:

  1. 减少了垃圾回收
    因为垃圾回收会暂停业务线程的工作。
  2. 加快了复制的速度
    堆内在flush到远程时,会先复制到直接内存(堆外内存),然后再发送;而使用堆外内存相当于省略掉从堆复制到堆外这一步。

虽然有上面的优点,但是对堆外内存的管理也都交给了程序(dble),这部分管理也是不易的,可能会导致堆外内存的泄露。

关于dble中的内存管理:

处理 “You may need to turn up page size. ”

  • 日志中出现上面描述的“You may need to turn up page size. ”提示,说明执行sql时一次申请的太多了(比如行数据太大,sql太长等等),超过了dble的bufferPoolPageSize的大小,dble不能分配连续的堆外内存。在此种情况下,dble不会使用到堆外内存,转而使用堆内存,因此,将丧失了堆外内存的优势,因此,对性能方面会有影响。此时,按需调整 bufferPoolChunkSize,bufferPoolPageNumber,buff…

Replies: 1 comment

Comment options

PanternBao
Oct 15, 2021
Collaborator Author

You must be logged in to vote
0 replies
Answer selected by yanhuqing666
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant