728x90

Question

Your read cache rate (onstat -p) rises durning server use to ninety-nine percent. You suspect that you have overallocated buffers to the extent that you are wasting memory. How can you determine how much of your buffer cache memory is used?

Answer

Count the number of buffers in use at regular intervals and compare with the total allocated. You can use the following two methods to count the number of buffer pages in use at a given point in time:

  • Execute the onstat -B command. The number of data lines in the output is the number of buffers in use. The onstat -B output includes all the configured buffer pools, grouped by page size. You will have to count the lines in the individual groups if you have more than one buffer pool.


  • Open the sysmaster database and execute the following query:

    SELECT COUNT(*) AS pages_used
    FROM sysbufhdr
    WHERE bufsize = <buffer_page_size>
    AND bflags != 4;

    The buffer_page_size is the page size (in bytes) for the buffer pool you are examining. The buffer page size is listed in the onstat -b/B output. If you only have one buffer pool, you can leave out the buffer page size filter and the query becomes:

    SELECT COUNT(*) AS pages_used
    FROM sysbufhdr
    WHERE bflags != 4;

 

https://www.ibm.com/support/pages/how-do-i-know-if-my-buffers-are-overallocated

 

How do I know if my Buffers are Overallocated?

How do I know if my Buffers are Overallocated?

www.ibm.com

 

728x90
728x90

인포믹스의 memory 스레드를 간략하게 설명한 IBM 문서입니다. mt_purge_cpu_vp_caches 함수관련 이슈가 있어서 찾다보니 발견한 내용입니다. 중국어이긴 하지만 구글번역 등으로 보시면 이해하시는데 무리없으실 겁니다.



疑问

有客户问到,经常从informix服务器运行中, 看到memory线程,想了解下该线程主要做什么用的?

答案

Memory 线程, 是数据库服务器启动时fork的一个线程, 主要是用来持续进行所有cpuvp的private cache memory的清理工作(draining)。
其中, 该线程主要工作在mt_purge_cpu_vp_caches() , 该function主要是把每个VP的private cache entries remove,直到全部完成为止。

相关配置参数: VP_MEMORY_CACHE_KB

相关监控命令: onstat -g vpcache


https://www-01.ibm.com/support/docview.wss?uid=swg22011956

728x90

+ Recent posts