使用show engine innodb status 檢視記憶體使用情況

tangyunoracle發表於2022-03-04

一、使用show engine innodb status 檢視記憶體使用情況:

SQL>show engine innodb status\G

----------------------

BUFFER POOL AND MEMORY

----------------------

Total large memory allocated 17590910976

Dictionary memory allocated 5145259

Buffer pool size   1048576

Free buffers       8194

Database pages     1023443

Old database pages 377630

Modified db pages  75

Pending reads      0

Pending writes: LRU 0, flush list 0, single page 0

Pages made young 383665, not young 422572

0.00 youngs/s, 0.00 non-youngs/s

Pages read 34668, created 1651482, written 170056767

0.00 reads/s, 0.00 creates/s, 18.27 writes/s

Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000

Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s

LRU len: 1023443, unzip_LRU len: 0

I/O sum[4064]:cur[0], unzip sum[0]:cur[0]

----------------------


root@[(none)]> show variables like 'innodb_buffer_pool_size';

+-------------------------+-------------+

| Variable_name           | Value       |

+-------------------------+-------------+

| innodb_buffer_pool_size | 17179869184 |

+-------------------------+-------------+

1 row in set (0.01 sec)


二、MySQL資料庫記憶體使用情況解析

1、Total large memory allocated 17590910976

分配給INNODB的總記憶體大小,單位byte,這裡分配的是17179869184合計是16GB。


2、Dictionary memory allocated 5145259

分析給INNODB資料字典的記憶體大小,單位byte,這裡分配的是5145259,合計約5MB。


3、Buffer pool size   1048576

分配給INNODB的總buffer pool大小,區別是這裡單位page,MySQL預設page的大小設定為16k。

root@[(none)]> select 1048576*16*1024;

+-----------------+

| 1048576*16*1024 |

+-----------------+

|     17179869184 |

+-----------------+

1 row in set (0.00 sec)


這裡其實只是換個單位。


4、Free buffers       8194

資料庫中innodb buffer pool中空閒page的數量。


5、Database pages     1023443

資料庫中innodb buffer pool中非空閒page的數量。


6、Old database pages 377630

Old子列表中的page數量


7、Modified db pages  75

當前buffer pool中被修改的page數量


8、Pending reads      0

資料由磁碟讀到buffer pool,被掛起的次數


9、Pending writes: LRU 0, flush list 0, single page 0

資料庫中innodb buffer pool LRU連結串列的page被淘汰出記憶體,要寫入到磁碟,但是這個寫入被掛起的次數

flush list:check point操作期間page要被寫入到磁碟,但是這個寫入被掛起的次數

single page:單個page要被寫入到磁碟,但是這個寫入過程被掛起的次數


10、Pages made young 383665, not young 422572

    0.00 youngs/s, 0.00 non-youngs/s

  young:page由old列表移動到new列表的次數.

    not young:page由new列表移動表old列表的次數.

    youngs/s:平均每秒有多少個page由old移動到new

    non-youngs/s:平均每秒有多少個page由new移動到old


11、Pages read 34668, created 1651482, written 170056767

    0.00 reads/s, 0.00 creates/s, 18.27 writes/s

    read:從buffer pool中讀出page的總數

    created:在buffer pool中建立page的總數

    written:在buffer pool中被寫過的page總數

    reads/s:平均每秒從buffer pool中讀多少個page

    creates/s:平均每秒在buffer pool要建立多少個page

    writes/s:平均每秒在buffer pool有多少個page被寫入


12、Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000

    MySQL資料庫的buffer pool的命中率,OLAP一般都是無限接近1。


13、Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s

    每秒read ahead的次數,每秒淘汰的page次數,隨機read ahead的次數



--------------End-By TangYun----------------------------------------------

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24930246/viewspace-2864632/,如需轉載,請註明出處,否則將追究法律責任。

相關文章