{"id":24866,"date":"2025-05-20T14:30:14","date_gmt":"2025-05-20T05:30:14","guid":{"rendered":"https:\/\/labs.gree.jp\/blog\/?p=24866"},"modified":"2025-05-20T12:55:25","modified_gmt":"2025-05-20T03:55:25","slug":"mysqld-%e3%81%8c%e8%b5%b7%e5%8b%95%e3%81%ae%e9%9a%9b%e3%80%81-innodb_buffer_pool_size-%e3%81%ab%e5%bf%9c%e3%81%98%e3%81%a6-buffer-pool-%e4%bb%a5%e5%a4%96%e3%81%a7-%e7%a2%ba%e4%bf%9d%e3%81%97%e3%81%a6","status":"publish","type":"post","link":"https:\/\/labs.gree.jp\/blog\/2025\/05\/24866\/","title":{"rendered":"mysqld \u304c\u8d77\u52d5\u306e\u969b\u3001 innodb_buffer_pool_size \u306b\u5fdc\u3058\u3066 buffer pool \u4ee5\u5916\u3067 \u78ba\u4fdd\u3057\u3066\u3044\u308b\u30e1\u30e2\u30ea\uff0b\u03b1"},"content":{"rendered":"<p>\u3053\u3093\u306b\u3061\u308f\u3002\u305b\u3058\u307e\u3067\u3059\u3002<\/p>\n<p>\u30b4\u30fc\u30eb\u30c7\u30f3\u30a6\u30a3\u30fc\u30af\u4e2d\u306b\u81ea\u5b85\u306eLinux\u30de\u30b7\u30f3\u3067MySQL\u306e\u81ea\u7531\u7814\u7a76\u3092\u3084\u3063\u3066\u3044\u305f\u3068\u304d\u3001\u5f53\u521d\u306e\u76ee\u7684\u306f\u9054\u6210\u3067\u304d\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u305d\u306e\u526f\u7523\u7269\u3068\u3057\u3066\u3044\u308d\u3044\u308d\u6c17\u3065\u3044\u305f\u3053\u3068\u304c\u3042\u3063\u305f\u306e\u3067\u3001\u3044\u3061\u304a\u3046\u3055\u3063\u304f\u308a\u3068\u307e\u3068\u3081\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u516c\u5f0f\u306e mysql-community-server-core 8.4.5-1ubuntu24.04 \u3092\u3001<code>innodb_buffer_pool_size=40G<\/code>, <code>innodb_buffer_pool_dump_pct=0<\/code> \u3068\u3044\u3046\u8a2d\u5b9a\u3067\u8d77\u52d5\u3057\u305f\u3089\u3001\u8d77\u52d5\u76f4\u5f8c\u306e\u6642\u70b9\u3067 Resident Set Size \u304c\u6570GB\u306b\u306a\u3063\u3066\u307e\u3057\u305f\u3002\u305d\u3057\u3066\u3001 innodb&#95;buffer&#95;pool&#95;size\u3092\u5909\u66f4\u3059\u308b\u3068\u3001\u8d77\u52d5\u76f4\u5f8c\u306e Residedent Set Size \u3082\u5909\u52d5\u3057\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e Resident Set Size \u306e\u5927\u90e8\u5206\u3092\u5360\u3081\u3066\u3044\u308b\u306e\u306f\u4f55\u306a\u306e\u304b\uff1f\u3068\u3044\u3046\u8a71\u3067\u3059\u3002<\/p>\n<h2>\u306f\u3058\u3081\u306b<\/h2>\n<p>\u3044\u308d\u3044\u308d\u8abf\u3079\u306a\u304c\u3089\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u8aad\u3093\u3067\u3044\u305f\u3068\u3053\u308d\u3001buf_chunk_t \u3068\u304b\u30b0\u30b0\u3063\u3066\u305f\u3089\u3001\u6700\u7d42\u7684\u306b Alibaba Cloud \u306e Huaxiong Song \u3055\u3093\u304c\u66f8\u304b\u308c\u305f<a href=\"https:\/\/www.alibabacloud.com\/blog\/mysql-memory-allocation-and-management-part-ii_600992\">MySQL Memory Allocation and Management (Part II)<\/a> \u3068\u3044\u3046\u8a18\u4e8b\u306b\u884c\u304d\u7740\u304d\u307e\u3057\u305f\u3002\u3053\u3061\u3089\u306e 5. Summary \u306b\u8a73\u3057\u304f\u307e\u3068\u307e\u3063\u3066\u3044\u307e\u3059\u304b\u3089\u3001InnoDB\u306b\u3042\u308b\u7a0b\u5ea6\u304f\u308f\u3057\u3044\u4eba\u3067\u3042\u308c\u3070\u3001\u3053\u306e\u4e00\u89a7\u8868\u3092\u898b\u305f\u3060\u3051\u3067\u300cmysqld \u8d77\u52d5\u76f4\u5f8c\u306b Resident Set Size \u306e\u5927\u90e8\u5206\u3092\u5360\u3081\u3066\u3044\u308b\u306e\u306f\u4f55\u306a\u306e\u304b\u300d\u3068\u3044\u3046\u7591\u554f\u306f\u660e\u3089\u304b\u306b\u306a\u308b\u306e\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>\u3061\u306a\u307f\u306b Huaxiong Song \u3055\u3093\u30012025\/05\u73fe\u6642\u70b9\u306b\u304a\u3044\u3066\u3001<a href=\"https:\/\/dev.mysql.com\/doc\/search\/?d=372&p=1&q=Huaxiong+Song\">MySQL 8.4\u306e\u30ea\u30ea\u30fc\u30b9\u30ce\u30fc\u30c8\u306e\u5c65\u6b74\u3092\u898b\u308b\u9650\u308a<\/a>\u3001<a href=\"https:\/\/dev.mysql.com\/doc\/relnotes\/mysql\/8.4\/en\/news-8-4-1.html#mysqld-8-4-1-bug\">8.4.1<\/a>\u3068<a href=\"https:\/\/dev.mysql.com\/doc\/relnotes\/mysql\/8.4\/en\/news-8-4-3.html#mysqld-8-4-3-bug\">8.4.3<\/a>\u306bcontribute\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3001\u3068\u3066\u3082\u512a\u79c0\u306a\u65b9\u306a\u3093\u3060\u308d\u3046\u306a\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u3042\u3068\u3001\u3064\u3044\u3064\u3044\u624b\u7656\u3067 <code>innodb_buffer_pool_dump_pct=0<\/code> \u3068\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u304c\u3001 <a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.4\/en\/innodb-parameters.html#sysvar_innodb_buffer_pool_dump_pct\">innodb_buffer_pool_dump_pct<\/a> \u306e\u4e0b\u9650\u306f10\u5e74\u4ee5\u4e0a\u524d\u304b\u3089 1 \u3067\u3001<\/p>\n<div class=\"blog-card\">\n<div class=\"blog-card-body-outer\">\n<div class=\"blog-card-body\">\n<h5 class=\"blog-card-title\">\n\t\t\t\t\t\t\t\t<a href=\"https:\/\/github.com\/mysql\/mysql-server\/commit\/953582e8fc52607785e4a7204bb66de6571a0e3f#diff-032483e1814b6a6dc87b493b876fa62af78f7014dbc8049d3f18c762d4602328R22-R24\">wl6504: added new testcase &amp; result file \u00b7 mysql\/mysql-server@953582e \u00b7 GitHub<\/a><br \/>\n\t\t\t\t\t\t\t<\/h5>\n<div class=\"blog-card-site-title\">\n\t\t\t\t\t\t\t<a href=\"http:\/\/github.com\"><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tGitHub\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"blog-card-image-outer\">\n\t\t\t\t\t\t<a href=\"https:\/\/github.com\/mysql\/mysql-server\/commit\/953582e8fc52607785e4a7204bb66de6571a0e3f#diff-032483e1814b6a6dc87b493b876fa62af78f7014dbc8049d3f18c762d4602328R22-R24\" class=\"blog-card-image-frame\"><br \/>\n\t\t\t\t\t\t\t<img decoding=\"async\" class=\"blog-card-image-src\" src=\"https:\/\/opengraph.githubassets.com\/036a29a1a606195a0cf28aef2f4529e4018359d8889d8cabc17238c6c71a0358\/mysql\/mysql-server\/commit\/953582e8fc52607785e4a7204bb66de6571a0e3f\" alt=\"\"><br \/>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n<\/p><\/div>\n<p><code>innodb_buffer_pool_dump_pct=0<\/code> \u306e\u3088\u3046\u306b\u4e0b\u9650\u3092\u4e0b\u56de\u308b\u5024\u306f <code>innodb_buffer_pool_dump_pct=1<\/code> \u6271\u3044\u306b\u306a\u308a\u3001\u6b21\u306e\u3088\u3046\u306a\u30ed\u30b0\u304c\u51fa\u529b\u3055\u308c\u307e\u3059\u3002<\/p>\n<pre><code>2025-05-12T10:47:25.842731Z 0 [Warning] [MY-000081] [Server] option 'innodb-buffer-pool-dump-pct': unsigned value 0 adjusted to 1.\n<\/code><\/pre>\n<p>\u305f\u3060\u3001mysqld \u3092\u505c\u6b62\u3059\u308b\u969b\u306b buffer pool \u4e0a\u306b\u307b\u3068\u3093\u3069\u30c7\u30fc\u30bf\u304c\u8aad\u307f\u8fbc\u307e\u308c\u3066\u3044\u306a\u304b\u3063\u305f\u306a\u3089\u3001 <code>innodb_buffer_pool_dump_pct=1<\/code> \u3068\u3057\u3066\u3082\u3001mysqld \u518d\u8d77\u52d5\u6642\u306b\u5f37\u5236\u7684\u306b1%\u5206\u306e\u30c7\u30fc\u30bf\u304c\u5fc5\u305a buffer pool \u8aad\u307f\u8fbc\u307e\u308c\u308b\u308f\u3051\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u3057\u3001\u300cmysqld \u8d77\u52d5\u76f4\u5f8c\u306b Resident Set Size \u306e\u5927\u90e8\u5206\u3092\u5360\u3081\u3066\u3044\u308b\u306e\u306f\u4f55\u306a\u306e\u304b\u300d\u3068\u3044\u3046\u4eca\u56de\u306e\u30c6\u30fc\u30de\u306b\u304a\u3044\u3066\u300cbuffer pool \u4ee5\u5916\u306e\u3082\u306e\u3092\u4e2d\u5fc3\u306b\u8abf\u67fb\u3057\u3066\u3044\u307e\u3059\u300d\u3068\u3044\u3063\u305f\u610f\u56f3\u304c\u4f1d\u308f\u308a\u3084\u3059\u304f\u306a\u308b\u304b\u306a\u3041\u3068\u3082\u601d\u3044\u307e\u3057\u305f\u306e\u3067\u3001\u6562\u3048\u3066 <code>innodb_buffer_pool_dump_pct=0<\/code> \u306e\u307e\u307e\u3067\u3084\u3089\u305b\u3066\u3044\u305f\u3060\u304d\u307e\u3059\u3002<\/p>\n<h2>\u3069\u3046\u3084\u3063\u3066\u8abf\u3079\u305f\u304b<\/h2>\n<p>\u3061\u3087\u3046\u3069 WSL2 \u4e0a\u306e Ubuntu 22.04 LTS \u3067\u30c7\u30d0\u30c3\u30b0\u30d3\u30eb\u30c9\u3057\u305f MySQL 8.4.5 \u304c\u3042\u3063\u305f\u306e\u3067\u3001\u305d\u308c\u3092gdb\u3067\u30b9\u30c6\u30c3\u30d7\u5b9f\u884c\u3057\u306a\u304c\u3089\u300c\u3053\u306e\u95a2\u6570\u629c\u3051\u305f\u3089 Resident Set Size \u3051\u3063\u3053\u3046\u5897\u3048\u305f\u306a\uff01\u300d\u3068\u304b\u6ce5\u81ed\u3044\u78ba\u8a8d\u3092\u3057\u3066\u305f\u306e\u3067\u3059\u304c\u3001\u305d\u3082\u305d\u3082\u3001\u30c7\u30d0\u30c3\u30b0\u30d3\u30eb\u30c9\u3060\u3068\u30ea\u30ea\u30fc\u30b9\u30d3\u30eb\u30c9\u306e\u3082\u306e\u3088\u308a Resident Set Size \u306f\u304b\u306a\u308a\u591a\u304b\u3063\u305f\u308a\u3057\u307e\u3059\u3002\u4eca\u56de\u3001\u30ea\u30ea\u30fc\u30b9\u30d3\u30eb\u30c9\u306e\u30d0\u30a4\u30ca\u30ea\u3067\u305d\u3053\u307e\u3067\u7cbe\u67fb\u3057\u3066\u8a66\u3057\u305f\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\u4f8b\u3048\u3070\u3001 WSL2 \u4e0a\u306e Ubuntu 24.04 LTS \u3067\u516c\u5f0f\u306e mysql-community-server-core \u3068 mysql-community-server-debug \u306e\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u3092\u6bd4\u3079\u308b\u3068<\/p>\n<pre><code>$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=20G\n$ dpkg -S \/usr\/sbin\/mysqld\nmysql-community-server-core: \/usr\/sbin\/mysqld\n$ sudo -u mysql \/usr\/sbin\/mysqld &\n[1] 1646\n$ ps axuf | grep -e CPU -e mysqld\nUSER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND\nroot        1646  0.0  0.0  14320  6912 pts\/0    S    16:11   0:00  |           \\_ sudo -u mysql \/usr\/sbin\/mysqld\nroot        1647  0.0  0.0  14320  1224 pts\/2    Ss+  16:11   0:00  |           |   \\_ sudo -u mysql \/usr\/sbin\/mysqld\nmysql       1648 28.3 14.2 24925688 2311768 pts\/2 Sl  16:11   0:02  |           |       \\_ \/usr\/sbin\/mysqld\nsejima      1710  0.0  0.0   3956  1928 pts\/0    S+   16:11   0:00  |           \\_ grep --color=auto -e CPU -e mysqld\n$ <\/code><\/pre>\n<pre><code>$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=20G\n$ dpkg -S \/usr\/sbin\/mysqld-debug\nmysql-community-server-debug: \/usr\/sbin\/mysqld-debug\n$ sudo -u mysql \/usr\/sbin\/mysqld-debug &\n[1] 1718\n$ ps axuf | grep -e CPU -e mysqld\nUSER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND\nroot        1718  0.0  0.0  14312  6908 pts\/0    S    16:12   0:00  |           \\_ sudo -u mysql \/usr\/sbin\/mysqld-debug\nroot        1719  0.0  0.0  14312  1220 pts\/2    Ss+  16:12   0:00  |           |   \\_ sudo -u mysql \/usr\/sbin\/mysqld-debug\nmysql       1720 29.5 19.3 27472688 3143904 pts\/2 Sl  16:12   0:07  |           |       \\_ \/usr\/sbin\/mysqld-debug\nsejima      1784  0.0  0.0   3956  2040 pts\/0    S+   16:12   0:00  |           \\_ grep --color=auto -e CPU -e mysqld\n$<\/code><\/pre>\n<p>\u8d77\u52d5\u76f4\u5f8c\u3067\u3053\u308c\u3060\u3051 RSS \u304c\u9055\u3044\u307e\u3059\u3002\u3086\u3048\u306b\u3001\u30c7\u30d0\u30c3\u30b0\u30d3\u30eb\u30c9\u306b\u3088\u308b\u5dee\u5206\u306a\u3069\u306f\u3042\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<h2>\u4e88\u3081\u96d1\u306a\u307e\u3068\u3081<\/h2>\n<p>\u6700\u521d\u306b\u3056\u3063\u304f\u308a\u307e\u3068\u3081\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<ul>\n<li>MySQL\u306e\u8d77\u52d5\u30b7\u30fc\u30b1\u30f3\u30b9\u306e\u4e2d\u3067\u3001\u6b21\u306e\u3088\u3046\u306a\u95a2\u6570\u3067buffer pool \u4ee5\u5916\u306b\u5927\u91cf\u306b\u30e1\u30e2\u30ea\u3092\u78ba\u4fdd\u3059\u308b\u30b1\u30fc\u30b9\u304c\u3042\u308b\u3068\u8003\u3048\u3089\u308c\u307e\u3059\u3002\n<ul>\n<li><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/perfschema\/pfs_server.cc#L73\">initialize_performance_schema()<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/buf\/buf0buf.cc#L426\">buf_pool_register_chunk()<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/btr\/btr0sea.cc#L186\">btr_search_sys_create()<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/dict\/dict0dict.cc#L1009\">dict_init()<\/a><\/li>\n<\/ul>\n<\/li>\n<li>\u3053\u308c\u3089\u306e\u3046\u3061\u3001 \u5c11\u306a\u304f\u3068\u3082 buf_pool_register_chunk()\u3001btr_search_sys_create()\u3001 dict_init() \u306f\u3001innodb_buffer_pool_size \u306b\u5fdc\u3058\u3066\u78ba\u4fdd\u3055\u308c\u308b\u30e1\u30e2\u30ea\u304c\u5897\u6e1b\u3057\u307e\u3059\u3002<\/li>\n<li>innodb_buffer_pool_size \u306b\u5fdc\u3058\u3066\u78ba\u4fdd\u3055\u308c\u308b\u30e1\u30e2\u30ea\u306e\u91cf\u306f\u7d20\u6570\u304c\u7d61\u3093\u3067\u304f\u308b\u306e\u3067\u5358\u7d14\u306b\u8a66\u7b97\u3059\u308b\u3053\u3068\u306f\u96e3\u3057\u3044\u3067\u3059\u304c\u3001innodb_buffer_pool_size \u306e8\uff5e10%\u304f\u3089\u3044\u306f\u3001\u8ffd\u52a0\u3067\u30e1\u30e2\u30ea\u304c\u78ba\u4fdd\u3055\u308c\u308b\u3093\u3058\u3083\u306a\u3044\u304b\u3068\u3044\u3046\u6c17\u304c\u3057\u307e\u3059\u3002<\/li>\n<\/ul>\n<p>\u3067\u306f\u8a73\u7d30\u306b\u5165\u308a\u307e\u3059\u3002<\/p>\n<h2>initialize_performance_schema()<\/h2>\n<p>\u3053\u308c\u306f\u3082\u3046\u6539\u307e\u3063\u3066\u3044\u3046\u3053\u3068\u3082\u306a\u3044\u3067\u3059\u306d\u3002 Performance Schema \u306f\u305d\u308c\u306a\u308a\u306b\u30e1\u30e2\u30ea\u98df\u3044\u307e\u3059\u3057\u8a2d\u5b9a\u5024\u306b\u3088\u3063\u3066\u5897\u6e1b\u3057\u307e\u3059\u3002<\/p>\n<p>gdb \u3067\u30e1\u30e2\u30ea\u3092\u307e\u3068\u3081\u3066\u78ba\u4fdd\u3057\u3066\u305d\u3046\u306a\u3068\u3053\u308d\u3092\u6d17\u3044\u51fa\u3057\u3066\u3044\u305f\u3089initialize_performance_schema() \u3082\u7121\u8996\u3067\u304d\u3066\u306a\u3044\u7a0b\u5ea6\u306b\u306f\u30e1\u30e2\u30ea\u78ba\u4fdd\u3057\u3066\u305f\u306e\u3067\u3001\u3044\u3061\u304a\u3046\u6319\u3052\u3066\u304a\u3053\u3046\u304b\u306a\u304f\u3089\u3044\u306e\u3068\u3053\u308d\u3067\u3059\u3002<\/p>\n<p>\u4f8b\u3048\u3070\u3001\u516c\u5f0f\u306e mysql-community-server-core 8.4.5-1ubuntu24.04 \u3067 sudo systemctl start mysql \u3057\u305f\u8d77\u52d5\u76f4\u5f8c\u306b <code>SHOW ENGINE PERFORMANCE_SCHEMA STATUS\\G<\/code> \u3092\u53e9\u304f\u3068<\/p>\n<pre><code>  Type: performance_schema\n  Name: performance_schema.memory\nStatus: 235246464\n<\/code><\/pre>\n<p>\u3053\u308c\u304f\u3089\u3044\u306f\u884c\u304d\u307e\u3059\u304b\u306a\u3001\u307e\u3041 P_S \u306f\u305d\u3046\u3044\u3046\u3082\u306e\u306a\u306e\u304b\u306a\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u3069\u3093\u3069\u3093\u6b21\u306b\u884c\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<h2>buf_pool_register_chunk()<\/h2>\n<div class=\"blog-card\">\n<div class=\"blog-card-body-outer\">\n<div class=\"blog-card-body\">\n<h5 class=\"blog-card-title\">\n\t\t\t\t\t\t\t\t<a href=\"https:\/\/github.com\/mysql\/mysql-server\/commit\/0111e9c77f906312f0a4eb0b61ed6c72b7288b62\">WL#6117 InnoDB: Resize the InnoDB Buffer Pool Online \u00b7 mysql\/mysql-server@0111e9c \u00b7 GitHub<\/a><br \/>\n\t\t\t\t\t\t\t<\/h5>\n<p class=\"blog-card-text\">\n\t\t\t\t\t\t\t\t- &#039;innodb_buffer_pool_size&#039; is changed to &#039;Dynamic Variable&#039; (The Default value is still 128M. not changed.)<\/p>\n<p>- able to monitor\u2026\t\t\t\t\t\t\t<\/p>\n<div class=\"blog-card-site-title\">\n\t\t\t\t\t\t\t<a href=\"http:\/\/github.com\"><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tGitHub\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"blog-card-image-outer\">\n\t\t\t\t\t\t<a href=\"https:\/\/github.com\/mysql\/mysql-server\/commit\/0111e9c77f906312f0a4eb0b61ed6c72b7288b62\" class=\"blog-card-image-frame\"><br \/>\n\t\t\t\t\t\t\t<img decoding=\"async\" class=\"blog-card-image-src\" src=\"https:\/\/opengraph.githubassets.com\/5b26f09b9a713854dc6e48b34d5abebaa8ad0f7770194b007384bbd33a59697c\/mysql\/mysql-server\/commit\/0111e9c77f906312f0a4eb0b61ed6c72b7288b62\" alt=\"\"><br \/>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n<\/p><\/div>\n<p>commit log \u3092\u8aad\u3080\u3068\u3001\u5be1\u9ed9\u306a\u7d33\u58eb\u30fb\u6728\u4e0b\u9756\u6587\u3055\u3093\u304cMySQL5.7\u3067\u5b9f\u88c5\u3055\u308c\u305f buffer pool \u306e\u30aa\u30f3\u30e9\u30a4\u30f3\u30ea\u30b5\u30a4\u30ba\u6a5f\u80fd\u306b\u95a2\u9023\u3059\u308b\u3068\u3053\u308d\u3060\u3068\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/dev.mysql.com\/worklog\/task\/?id=6117\">WL#6117: InnoDB: Resize the InnoDB Buffer Pool Online<\/a>\u306eRequirements\u3092\u898b\u308b\u3068<\/p>\n<blockquote><p>\n  To optimize the resizing performance (the resizing affects to throughput, so shorter time is better), the chunk base size management is prepared also. (not needed copy whole of blocks. just add\/delete chunks) The new global variable 'innodb_buffer_pool_chunk_size' is used to control the behavior.\n<\/p><\/blockquote>\n<p>\u3068\u3042\u308a\u307e\u3059\u3002 buffer pool \u306f page \u3068\u3044\u3046\u5358\u4f4d\u3067\u7ba1\u7406\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u30ea\u30b5\u30a4\u30ba\u3092\u6700\u9069\u5316\u3059\u308b\u305f\u3081\u306b chunk \u3068\u3044\u3046\u5358\u4f4d\u3067\u3082\u7ba1\u7406\u3055\u308c\u3066\u3044\u308b\u308f\u3051\u3067\u3059\u3002\u305d\u3057\u3066\u305d\u308c\u306f std::map \u3067 buffer pool \u3068\u306f\u7570\u306a\u308b\u9818\u57df\u3067\u7ba1\u7406\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001 chunk \u304c\u5897\u3048\u308c\u3070\u5897\u3048\u308b\u307b\u3069 buf_chunk_map_reg->insert() \u3067 chunk \u3092\u767b\u9332\u3059\u308b\u56de\u6570\u304c\u5897\u3048\u308b\u306a\u3089\u3070\u3001\u305d\u308c\u3060\u3051 buf_chunk_map_reg \u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u30d2\u30fc\u30d7\u3082\u62e1\u5f35\u3055\u308c\u3046\u308b\u308f\u3051\u3067\u3059\u306d\u3002<\/p>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/buf\/buf0buf.cc#L424-L429\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/buf\/buf0buf.cc#L424-L429<\/a><\/p>\n<pre class=\"start-line:424 lang:c++\"><code>\/** Registers a chunk to buf_pool_chunk_map\n@param[in]      chunk   chunk of buffers *\/\nstatic void buf_pool_register_chunk(buf_chunk_t *chunk) {\n  buf_chunk_map_reg->insert(\n      buf_pool_chunk_map_t::value_type(chunk->blocks->frame, chunk));\n}<\/code><\/pre>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/buf\/buf0buf.cc#L315-L324\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/buf\/buf0buf.cc#L315-L324<\/a><\/p>\n<pre class=\"start-line:315 lang:c++\"><code>\/** Map of buffer pool chunks by its first frame address\nThis is newly made by initialization of buffer pool and buf_resize_thread.\nNote: mutex protection is required when creating multiple buffer pools\nin parallel. We don't use a mutex during resize because that is still single\nthreaded. *\/\ntypedef std::map<const byte *, buf_chunk_t *, std::less<const byte *>,\n                 ut::allocator<std::pair<const byte *const, buf_chunk_t *>>>\n    buf_pool_chunk_map_t;\n\nstatic buf_pool_chunk_map_t *buf_chunk_map_reg;<\/code><\/pre>\n<p>buffer pool \u3092 chunk \u3068\u3044\u3046\u5358\u4f4d\u3067\u7ba1\u7406\u3059\u308b\u305f\u3081\u306e std::map \u3067\u3042\u308c\u3070\u3001 innodb_buffer_pool_size \u3060\u3051\u3067\u306a\u304f innodb_buffer_pool_chunk_size \u306b\u3088\u3063\u3066\u3082 Resident Set Size \u306f\u5909\u52d5\u3059\u308b\u308f\u3051\u3067\u3059\u3002<\/p>\n<p>\u5177\u4f53\u7684\u306bWSL2\u4e0a\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u74b0\u5883\u306f<\/p>\n<pre><code>$ uname --kernel-release\n5.15.167.4-microsoft-standard-WSL2\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Ubuntu\nDescription:    Ubuntu 24.04.2 LTS\nRelease:        24.04\nCodename:       noble\n$ dpkg --list mysql-community-server\nDesired=Unknown\/Install\/Remove\/Purge\/Hold\n| Status=Not\/Inst\/Conf-files\/Unpacked\/halF-conf\/Half-inst\/trig-aWait\/Trig-pend\n|\/ Err?=(none)\/Reinst-required (Status,Err: uppercase=bad)\n||\/ Name                   Version            Architecture Description\n+++-======================-==================-============-=================================\nii  mysql-community-server 8.4.5-1ubuntu24.04 amd64        MySQL Server\n$\n<\/code><\/pre>\n<p>\u3068\u3057\u307e\u3059\u3002<\/p>\n<pre><code>$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=10G\n$ sudo systemctl restart mysql\n$ ps axuf | grep -e CPU -e mysqld\nUSER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND\nsejima      1854  0.0  0.0   3956  2080 pts\/0    S+   19:48   0:00  |           \\_ grep --color=auto -e CPU -e mysqld\nmysql       1791 37.8  8.7 13502720 1415764 ?    Ssl  19:48   0:01 \/usr\/sbin\/mysqld\n$ sudo emacs \/etc\/mysql\/mysql.conf.d\/mysqld.cnf\n$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=20G\n$ sudo systemctl restart mysql\n$ ps axuf | grep -e CPU -e mysqld\nUSER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND\nsejima      1965  0.0  0.0   3956  1924 pts\/0    S+   19:49   0:00  |           \\_ grep --color=auto -e CPU -e mysqld\nmysql       1902 22.2 14.2 24729080 2315376 ?    Ssl  19:48   0:02 \/usr\/sbin\/mysqld\n$ sudo emacs \/etc\/mysql\/mysql.conf.d\/mysqld.cnf\n$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=20G\n--innodb_buffer_pool_chunk_size=1G\n$ sudo systemctl restart mysql\n$ ps axuf | grep -e CPU -e mysqld\nUSER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND\nsejima      2076  0.0  0.0   3956  1828 pts\/0    S+   19:49   0:00  |           \\_ grep --color=auto -e CPU -e mysqld\nmysql       2013 55.9 13.3 24794060 2164376 ?    Ssl  19:49   0:02 \/usr\/sbin\/mysqld\n$\n<\/code><\/pre>\n<p>innodb_buffer_pool_size\u3092\u5897\u3084\u3059\u3053\u3068\u3067 RSS \u304c\u5897\u3048\u308b\u306e\u306b\u5bfe\u3057\u3001 innodb_buffer_pool_chunk_size\u3092\u6e1b\u3089\u3059\u3053\u3068\u3067RSS\u306f\u6e1b\u308a\u307e\u3057\u305f\u3002<\/p>\n<h2>btr_search_sys_create()<\/h2>\n<p>\u3053\u308c\u306f<\/p>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/buf\/buf0buf.cc#L1499\">buf_pool_init()<\/a>\u3067 buffer pool \u306e\u521d\u671f\u5316\u3092\u3059\u308b\u969b\u3001<\/p>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/buf\/buf0buf.cc#L1587\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/buf\/buf0buf.cc#L1587<\/a><\/p>\n<pre class=\"start-line:1587 lang:c++\"><code>  btr_search_sys_create(buf_pool_get_curr_size() \/ sizeof(void *) \/ 64);<\/code><\/pre>\n<p>\u3068\u3044\u3046\u3088\u3046\u306b buffer pool \u306e\u30b5\u30a4\u30ba\u306b\u5fdc\u3058\u3066<\/p>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/btr\/btr0sea.cc#L186-L193\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/btr\/btr0sea.cc#L186-L193<\/a><\/p>\n<pre class=\"start-line:186 lang:c++\"><code>void btr_search_sys_create(ulint hash_size) {\n  \/* Copy the initial SYSVAR value. While the Server is starting, the updater\n  for SYSVARs is not called to set their initial value. *\/\n  btr_search_enabled = srv_btr_search_enabled;\n  btr_search_sys = ut::new_withkey<btr_search_sys_t>(\n      ut::make_psi_memory_key(mem_key_ahi), hash_size);\n  mutex_create(LATCH_ID_AHI_ENABLED, &btr_search_enabled_mutex);\n}<\/code><\/pre>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/ut0new.h#L724-L762\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/ut0new.h#L724-L762<\/a><\/p>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/btr\/btr0sea.cc#L195-L207\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/btr\/btr0sea.cc#L195-L207<\/a><\/p>\n<pre class=\"start-line:195 lang:c++\"><code>btr_search_sys_t::btr_search_sys_t(size_t hash_size) {\n  using part_type = btr_search_sys_t::search_part_t;\n  parts = ut::make_unique_aligned<part_type[]>(\n      ut::make_psi_memory_key(mem_key_ahi), alignof(part_type), btr_ahi_parts);\n  static_assert(alignof(part_type) >= ut::INNODB_CACHE_LINE_SIZE);\n  \/* It is written only from one thread during server initialization, so it is\n  safe. *\/\n  btr_ahi_parts_fast_modulo = ut::fast_modulo_t{btr_ahi_parts};\n\n  for (ulint i = 0; i < btr_ahi_parts; ++i) {\n    parts[i].initialize(hash_size);\n  }\n}<\/code><\/pre>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/ut0new.h#L2514-L2537\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/ut0new.h#L2514-L2537<\/a><br \/>\n<a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/ut0new.h#L1738-L1800\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/ut0new.h#L1738-L1800<\/a><br \/>\n<a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/ut0new.h#L1472-L1490\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/ut0new.h#L1472-L1490<\/a><\/p>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/btr\/btr0sea.cc#L209-L221\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/btr\/btr0sea.cc#L209-L221<\/a><\/p>\n<pre class=\"start-line:209 lang:c++\"><code>void btr_search_sys_t::search_part_t::initialize(size_t hash_size) {\n  \/* Step-1: Init latches. *\/\n  rw_lock_create(btr_search_latch_key, &latch, LATCH_ID_BTR_SEARCH);\n\n  \/* Step-2: Allocate hash tables. *\/\n  hash_table = ib_create((hash_size \/ btr_ahi_parts), LATCH_ID_HASH_TABLE_MUTEX,\n                         0, MEM_HEAP_FOR_BTR_SEARCH);\n  hash_table->heap->free_block_ptr = &free_block_for_heap;\n\n#if defined UNIV_AHI_DEBUG || defined UNIV_DEBUG\n  hash_table->adaptive = true;\n#endif \/* UNIV_AHI_DEBUG || UNIV_DEBUG *\/\n}<\/code><\/pre>\n<p>\u3068\u3044\u3046\u308f\u3051\u3067 Adaptive Hash Index \u306e\u305f\u3081\u306e hash table \u3092\u521d\u671f\u5316\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>innodb_buffer_pool_size \u306b\u5fdc\u3058\u3066 btr_search_sys_create() \u306b\u6e21\u3055\u308c\u308b hash_size \u304c\u5897\u6e1b\u3059\u308b\u3053\u3068\u3092\u3001\u5148\u307b\u3069\u306eWSL2\u306e\u74b0\u5883\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<br \/>\nsudo apt install bpftrace \u3057\u3064\u3064 mysql-community-server-core-dbgsym \u3082\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066<\/p>\n<pre><code>$ dpkg --list mysql-community-server-core-dbgsym\nDesired=Unknown\/Install\/Remove\/Purge\/Hold\n| Status=Not\/Inst\/Conf-files\/Unpacked\/halF-conf\/Half-inst\/trig-aWait\/Trig-pend\n|\/ Err?=(none)\/Reinst-required (Status,Err: uppercase=bad)\n||\/ Name                               Version            Architecture Description\n+++-==================================-==================-============-=============================================\nii  mysql-community-server-core-dbgsym 8.4.5-1ubuntu24.04 amd64        debug symbols for mysql-community-server-core\n$\n<\/code><\/pre>\n<pre><code>$ sudo bpftrace -l 'uprobe:\/usr\/sbin\/mysqld:*btr_search_sys_create*'\nuprobe:\/usr\/sbin\/mysqld:_Z21btr_search_sys_createm\nuprobe:\/usr\/sbin\/mysqld:_Z21btr_search_sys_createm.cold\n$ sudo bpftrace -e 'uprobe:\/usr\/sbin\/mysqld:_Z21btr_search_sys_createm* {printf(\"%d\\n\", arg0);}'\nAttaching 2 probes...\n\n<\/code><\/pre>\n<p>\u3057\u3066\u5225\u306e\u30bf\u30fc\u30df\u30ca\u30eb\u3067\u30a8\u30c7\u30a3\u30bf\u3067\u8a2d\u5b9a\u66f8\u304d\u63db\u3048\u3064\u3064<\/p>\n<pre><code>$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=10G\n$ sudo systemctl restart mysql\n$ sudo emacs \/etc\/mysql\/mysql.conf.d\/mysqld.cnf\n$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=20G\n$ sudo systemctl restart mysql\n<\/code><\/pre>\n<p>\u3068\u3059\u308b\u3068\u3001\u3055\u304d\u307b\u3069 bpftrace \u3057\u305f\u30bf\u30fc\u30df\u30ca\u30eb\u3067\u306f<\/p>\n<pre><code>$ sudo bpftrace -e 'uprobe:\/usr\/sbin\/mysqld:_Z21btr_search_sys_createm* {printf(\"%d\\n\", arg0);}'\nAttaching 2 probes...\n20971520\n41943040\n\n<\/code><\/pre>\n<p>\u3068\u3044\u3063\u305f\u3088\u3046\u306b\u3001 innodb_buffer_pool_size \u306b\u5fdc\u3058\u3066 btr_search_sys_create() \u3067\u6307\u5b9a\u3055\u308c\u308b hash_size \u3082\u5909\u308f\u308a\u305d\u3046\u3060\u3068\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u305f\u3060\u3001\u300cAdaptive Hash Index \u306f MySQL 8.4 \u3060\u3068\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u7121\u52b9\u5316\u3055\u308c\u305f\u306e\u3067\u306f\uff1f\u306a\u305c Adaptive Hash Index \u306e\u305f\u3081\u306e hash table \u304c\u8d77\u52d5\u6642\u306b\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u308b\uff1f\u300d\u3068\u601d\u3046\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001 8.4 \u3067\u3082\u52d5\u7684\u306b\u6709\u52b9\u5316\u3067\u304d\u308b\u306e\u3067\u3001\u8d77\u52d5\u6642\u306bAdaptive Hash Index\u304c\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u3066\u3082\u3001\u305d\u306e\u305f\u3081\u306e hash table \u306e\u9818\u57df\u306f\u78ba\u4fdd\u3057\u3066\u304a\u304f\u65b9\u304c\u7121\u96e3\u306a\u3093\u3067\u3057\u3087\u3046\u306d\uff08\u305f\u3076\u3093\uff09\u3002<\/p>\n<h2>dict_init()<\/h2>\n<p>dict_init() \u5185\u3067 innodb_buffer_pool_size \u306b\u5fdc\u3058\u3066\u5909\u5316\u3059\u308b\u8981\u7d20\u306e\u3046\u3061\u3001\u30b5\u30a4\u30ba\u304c\u5927\u304d\u304f\u306a\u308b\u3068\u3053\u308d\u3068\u3057\u3066\u306f\u3001 <a href=\"https:\/\/labs.gree.jp\/blog\/2023\/08\/22626\/\">MySQL8.0.27\u30848.0.28\u3042\u305f\u308a\u306ememory\/innodb\/hash0hash\u3084ut0new.h\u306a\u3069\u306e\u8a71<\/a> \u3067\u53d6\u308a\u4e0a\u3052\u305f dict_sys->table_hash \u3084 dict_sys->table_id_hash \u3067\u3059\u3002<\/p>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/dict\/dict0dict.cc#L1021-L1025\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/dict\/dict0dict.cc#L1021-L1025<\/a><\/p>\n<pre class=\"start-line:1021 lang:c++\"><code>  dict_sys->table_hash = ut::new_<hash_table_t>(\n      buf_pool_get_curr_size() \/ (DICT_POOL_PER_TABLE_HASH * UNIV_WORD_SIZE));\n\n  dict_sys->table_id_hash = ut::new_<hash_table_t>(\n      buf_pool_get_curr_size() \/ (DICT_POOL_PER_TABLE_HASH * UNIV_WORD_SIZE));<\/code><\/pre>\n<p>\u6539\u3081\u3066 <a href=\"https:\/\/labs.gree.jp\/blog\/2023\/08\/22626\/\">MySQL8.0.27\u30848.0.28\u3042\u305f\u308a\u306ememory\/innodb\/hash0hash\u3084ut0new.h\u306a\u3069\u306e\u8a71<\/a> \u3092\u8aad\u307f\u8fd4\u3057\u3066\u3044\u3066\u300c\u3042\u30fc\u3053\u3053\u9593\u9055\u3063\u3066\u305f\u306a\u30fc\u300d\u300c\u3067\u3082\u3001\u90fd\u5ea6\u90fd\u5ea6malloc()\u3057\u3066\u308b\u3068\u3053\u308d\u304c\u5b8c\u5168\u306b\u306a\u3044\u308f\u3051\u3058\u3083\u306a\u3044\u3093\u3060\u3088\u306a\u30fc\u300d\u3068\u53cd\u7701\u3057\u305f\u3068\u3053\u308d\u304c\u3042\u3063\u305f\u306e\u3067\u3001\u8a02\u6b63\u3055\u305b\u3066\u3044\u305f\u3060\u304d\u307e\u3059\u3068\u3001\u4f8b\u3048\u3070<\/p>\n<pre class=\"start-line:1021 lang:c++\"><code>  dict_sys->table_hash = ut::new_<hash_table_t>(\n      buf_pool_get_curr_size() \/ (DICT_POOL_PER_TABLE_HASH * UNIV_WORD_SIZE));<\/code><\/pre>\n<p>\u3067 <code>ut::new_&lt;hash_table_t&gt;()<\/code> \u3059\u308b\u3068<\/p>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/hash0hash.h#L376-L385\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/hash0hash.h#L376-L385<\/a><\/p>\n<pre class=\"start-line:376 lang:c++\"><code>\/* The hash table structure *\/\nclass hash_table_t {\n public:\n  hash_table_t(size_t n) {\n    const auto prime = ut::find_prime(n);\n    cells = ut::make_unique<hash_cell_t[]>(prime);\n    set_n_cells(prime);\n\n\n    \/* Initialize the cell array *\/\n    hash_table_clear(this);<\/code><\/pre>\n<p>\u3067 hash_table_clear() \u3057\u3066\u3044\u308b\u306e\u3067\u3001<\/p>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/hash0hash.ic#L44-L51\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/hash0hash.ic#L44-L51<\/a><\/p>\n<pre class=\"start-line:44 lang:c++\"><code>\/** Clears a hash table so that all the cells become empty. *\/\nstatic inline void hash_table_clear(\n    hash_table_t *table) \/*!< in\/out: hash table *\/\n{\n  ut_ad(table);\n  ut_ad(table->magic_n == hash_table_t::HASH_TABLE_MAGIC_N);\n  memset(table->cells.get(), 0x0, table->get_n_cells() * sizeof(hash_cell_t));\n}<\/code><\/pre>\n<p>\u3067 memset() \u3067 0x0 \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u306e\u3067\u3001\u3053\u3053\u3067 table->cells \u306f page fault \u8d77\u304d\u3066\u5b9f\u969b\u306b\u30e1\u30e2\u30ea\u304c\u5272\u308a\u5f53\u3066\u3089\u308c\u3066\u308b\u3068\u601d\u3044\u307e\u3059\u3002table->cells \u306e\u5b9a\u7fa9\u306f<\/p>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/hash0hash.h#L450-L455\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/hash0hash.h#L450-L455<\/a><\/p>\n<pre class=\"start-line:450 lang:c++\"><code>  \/** The pointer to the array of cells.\n  If type==HASH_TABLE_SYNC_RW_LOCK it is:\n  - modified when holding X-latches on all n_sync_obj\n  - read when holding an S-latch for at least one n_sync_obj\n  *\/\n  ut::unique_ptr<hash_cell_t[]> cells;<\/code><\/pre>\n<p>\u3053\u3061\u3089\u3067\u3001<\/p>\n<p>\u90fd\u5ea6\u90fd\u5ea6\u30e1\u30e2\u30ea\u304c\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u306e\u306f\u3001<\/p>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/hash0hash.h#L61-L63\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/hash0hash.h#L61-L63<\/a><\/p>\n<pre class=\"start-line:61 lang:c++\"><code>struct hash_cell_t {\n  void *node; \/*!< hash chain node, NULL if none *\/\n};<\/code><\/pre>\n<p>\u3053\u3063\u3061\u3067\u3057\u305f\u3002<\/p>\n<p>\u3064\u307e\u308b\u3068\u3053\u308d\u3001 mysqld \u8d77\u52d5\u6642\u306b dict_sys->table_id_hash->cells \u304c\u521d\u671f\u5316\u3055\u308c\u3066\u305d\u308c\u3089\u306b\u306f\u30d2\u30fc\u30d7\u3067\u5b9f\u30e1\u30e2\u30ea\u304c\u5272\u308a\u5f53\u3066\u3089\u308c\u307e\u3059\u304c\u3001\u305d\u308c\u305e\u308c\u306e cells \u306b\u3076\u3089\u4e0b\u304c\u308b node \u306b\u3064\u3044\u3066\u306f\u3001\u5b9f\u969b\u306b\u4f7f\u3046\u3068\u304d\u306b\u30e1\u30e2\u30ea\u304c\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u306e\u3060\u3068\u79c1\u306f\u8a8d\u8b58\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2>innodb_buffer_pool_size \u3092\u5909\u66f4\u3057\u306a\u304c\u3089\u8d77\u52d5\u6642\u306e Resident Set Size \u3092\u78ba\u8a8d<\/h2>\n<p>\u3067\u306f\u3082\u3046\u4e00\u5ea6\u3001 innodb_buffer_pool_size \u30921G, 2G, 10G, 20G \u3067\u3001mysqld \u8d77\u52d5\u76f4\u5f8c\u306e Resident Set Size \u3092\u6bd4\u8f03\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre><code>$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=1G\n$ sudo systemctl restart mysql\n$ ps axuf | grep -e CPU -e mysqld\nUSER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND\nsejima      3400  0.0  0.0   3956  1932 pts\/0    S+   21:21   0:00  |           \\_ grep --color=auto -e CPU -e mysqld\nmysql       3339 25.0  3.7 3236412 600680 ?      Ssl  21:21   0:00 \/usr\/sbin\/mysqld\n$ sudo emacs \/etc\/mysql\/mysql.conf.d\/mysqld.cnf\n$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=2G\n$ sudo systemctl restart mysql\n$ ps axuf | grep -e CPU -e mysqld\nUSER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND\nsejima      3511  0.0  0.0   3956  1916 pts\/0    S+   21:22   0:00  |           \\_ grep --color=auto -e CPU -e mysqld\nmysql       3448 33.3  4.3 4873688 707752 ?      Ssl  21:21   0:00 \/usr\/sbin\/mysqld\n$ sudo emacs \/etc\/mysql\/mysql.conf.d\/mysqld.cnf\n$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=10G\n$ sudo systemctl restart mysql\n$ ps axuf | grep -e CPU -e mysqld\nUSER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND\nsejima      3622  0.0  0.0   3956  1988 pts\/0    S+   21:22   0:00  |           \\_ grep --color=auto -e CPU -e mysqld\nmysql       3558 65.8  8.7 13175040 1412272 ?    Ssl  21:22   0:01 \/usr\/sbin\/mysqld\n$ sudo emacs \/etc\/mysql\/mysql.conf.d\/mysqld.cnf\n$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=20G\n$ sudo systemctl restart mysql\n$ ps axuf | grep -e CPU -e mysqld\nUSER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND\nsejima      3733  0.0  0.0   3956  1916 pts\/0    S+   21:22   0:00  |           \\_ grep --color=auto -e CPU -e mysqld\nmysql       3669 60.0 14.2 24794616 2314380 ?    Ssl  21:22   0:02 \/usr\/sbin\/mysqld\n$<\/code><\/pre>\n<p>\u8868\u306b\u307e\u3068\u3081\u308b\u3068\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<table>\n<tr>\n<th>innodb_buffer_pool_size<\/th>\n<th>Resident Set Size(KiB)<\/th>\n<\/tr>\n<tr>\n<td>1G<\/td>\n<td>600680<\/td>\n<\/tr>\n<tr>\n<td>2G<\/td>\n<td>707752<\/td>\n<\/tr>\n<tr>\n<td>10G<\/td>\n<td>1412272<\/td>\n<\/tr>\n<tr>\n<td>20G<\/td>\n<td>2314380<\/td>\n<\/tr>\n<\/table>\n<p>innodb_buffer_pool_size \u304c1G \u306e\u3068\u304d\u30682GB\u306e\u3068\u304d\u306e Resident Set Size \u306e\u5dee\u5206\u306f 707752KiB - 600680KiB = \u7d04104.5MiB\u304f\u3089\u3044\u3067\u3059\u304c\u300110G\u306820G\u306e\u3068\u304d\u306e\u5dee\u5206\u306f 2314380KiB - 1412272KiB = \u7d04880.9MiB\u306b\u3082\u306a\u308a\u307e\u3057\u305f\u3002dict_sys->table_hash \u306a\u3069 hash table \u306e\u521d\u671f\u5316\u306f<\/p>\n<p><a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/hash0hash.h#L379-L381\">https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/include\/hash0hash.h#L379-L381<\/a><\/p>\n<pre class=\"start-line:379 lang:c++\"><code>  hash_table_t(size_t n) {\n    const auto prime = ut::find_prime(n);\n    cells = ut::make_unique<hash_cell_t[]>(prime);<\/code><\/pre>\n<p>\u3068\u3044\u3046\u3088\u3046\u306b\u7d20\u6570\u304c\u7d61\u3093\u3067\u304f\u308b\u306e\u3067\u5358\u7d14\u306b\u8a66\u7b97\u3059\u308b\u3053\u3068\u306f\u96e3\u3057\u3044\u3067\u3059\u304c\u3001 innodb_buffer_pool_size \u306e+8\uff5e10%\u304f\u3089\u3044\u306f\u3001 buffer pool \u4ee5\u5916\u306e\u9818\u57df\u306e\u305f\u3081\u306b\u3001\u8ffd\u52a0\u3067\u30d2\u30fc\u30d7\u304c\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u3068\u898b\u3066\u304a\u3044\u3066\u826f\u3055\u305d\u3046\u306a\u6c17\u304c\u3057\u307e\u3059\u3002<\/p>\n<h2>mysqld \u8d77\u52d5\u76f4\u5f8c\u3067 buffer pool \u3067\u4f7f\u7528\u6e08\u307f\u306e\u9818\u57df\u3082\u3044\u3061\u304a\u3046\u78ba\u8a8d<\/h2>\n<p>\u3044\u3061\u304a\u3046\u3001 mysqld \u8d77\u52d5\u76f4\u5f8c\u306b buffer pool \u3067\u4f7f\u7528\u6e08\u307f\u306e\u9818\u57df\u304c\u3069\u308c\u304f\u3089\u3044\u3042\u308b\u304b\u3082\u78ba\u8a8d\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>MySQL\u3092\u30af\u30ea\u30fc\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u72b6\u614b\u3067 innodb_buffer_pool_dump_pct=0 \u306b\u3057\u3066 innodb_buffer_pool_size=1G, 20G\u3067\u6bd4\u8f03\u3057\u3066\u307f\u308b\u3068\u3001\u305b\u3044\u305c\u3044 15\uff5e17MB\u5f31\u7a0b\u5ea6\u3060\u3068\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n<pre><code>$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=1G\n$ sudo systemctl restart mysql\n$ mysql -u root -p\nEnter password:\nWelcome to the MySQL monitor.  Commands end with ; or \\g.\nYour MySQL connection id is 8\nServer version: 8.4.5 MySQL Community Server - GPL\n\nCopyright (c) 2000, 2025, Oracle and\/or its affiliates.\n\nOracle is a registered trademark of Oracle Corporation and\/or its\naffiliates. Other names may be trademarks of their respective\nowners.\n\nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\n\nmysql> select @@innodb_buffer_pool_size, @@innodb_page_size, @@innodb_buffer_pool_size\/@@innodb_page_size;\n+---------------------------+--------------------+----------------------------------------------+\n| @@innodb_buffer_pool_size | @@innodb_page_size | @@innodb_buffer_pool_size\/@@innodb_page_size |\n+---------------------------+--------------------+----------------------------------------------+\n|                1073741824 |              16384 |                                   65536.0000 |\n+---------------------------+--------------------+----------------------------------------------+\n1 row in set (0.00 sec)\n\nmysql> show global status like 'innodb_buffer_pool_pages_free';\n+-------------------------------+-------+\n| Variable_name                 | Value |\n+-------------------------------+-------+\n| Innodb_buffer_pool_pages_free | 64573 |\n+-------------------------------+-------+\n1 row in set (0.00 sec)\n\nmysql> select ((@@innodb_buffer_pool_size\/@@innodb_page_size)-64573)*@@innodb_page_size\/1024.0\/1024.0;\n+-----------------------------------------------------------------------------------------+\n| ((@@innodb_buffer_pool_size\/@@innodb_page_size)-64573)*@@innodb_page_size\/1024.0\/1024.0 |\n+-----------------------------------------------------------------------------------------+\n|                                                                         15.046875000000 |\n+-----------------------------------------------------------------------------------------+\n1 row in set (0.00 sec)\n\nmysql> exit\nBye\n$ sudo emacs \/etc\/mysql\/mysql.conf.d\/mysqld.cnf\n$ my_print_defaults mysqld\n--pid-file=\/var\/run\/mysqld\/mysqld.pid\n--socket=\/var\/run\/mysqld\/mysqld.sock\n--datadir=\/var\/lib\/mysql\n--log-error=\/var\/log\/mysql\/error.log\n--innodb_buffer_pool_dump_pct=0\n--innodb_buffer_pool_size=20G\n$ sudo systemctl restart mysql\n$ mysql -u root -p\nEnter password:\nWelcome to the MySQL monitor.  Commands end with ; or \\g.\nYour MySQL connection id is 8\nServer version: 8.4.5 MySQL Community Server - GPL\n\nCopyright (c) 2000, 2025, Oracle and\/or its affiliates.\n\nOracle is a registered trademark of Oracle Corporation and\/or its\naffiliates. Other names may be trademarks of their respective\nowners.\n\nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\n\nmysql> select @@innodb_buffer_pool_size, @@innodb_page_size, @@innodb_buffer_pool_size\/@@innodb_page_size;\n+---------------------------+--------------------+----------------------------------------------+\n| @@innodb_buffer_pool_size | @@innodb_page_size | @@innodb_buffer_pool_size\/@@innodb_page_size |\n+---------------------------+--------------------+----------------------------------------------+\n|               21474836480 |              16384 |                                 1310720.0000 |\n+---------------------------+--------------------+----------------------------------------------+\n1 row in set (0.00 sec)\n\nmysql> show global status like 'innodb_buffer_pool_pages_free';\n+-------------------------------+---------+\n| Variable_name                 | Value   |\n+-------------------------------+---------+\n| Innodb_buffer_pool_pages_free | 1309647 |\n+-------------------------------+---------+\n1 row in set (0.00 sec)\n\nmysql> select ((@@innodb_buffer_pool_size\/@@innodb_page_size)-1309647)*@@innodb_page_size\/1024.0\/1024.0;\n+-------------------------------------------------------------------------------------------+\n| ((@@innodb_buffer_pool_size\/@@innodb_page_size)-1309647)*@@innodb_page_size\/1024.0\/1024.0 |\n+-------------------------------------------------------------------------------------------+\n|                                                                           16.765625000000 |\n+-------------------------------------------------------------------------------------------+\n1 row in set (0.00 sec)\n\nmysql><\/code><\/pre>\n<p>\u30b7\u30b9\u30c6\u30e0\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u542b\u307e\u308c\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u60c5\u5831\u3084\u6a29\u9650\u60c5\u5831\u304c\u30ed\u30fc\u30c9\u3055\u308c\u308b\u3053\u3068\u306a\u3069\u3082\u8003\u3048\u308b\u3068\u3001 0 \u306b\u306f\u306a\u3089\u306a\u3044\u3067\u3057\u3087\u3046\u304c\u305d\u3046\u591a\u3044\u3082\u306e\u3067\u3082\u306a\u3044\u3068\u308f\u304b\u308a\u307e\u3059\u3002initialize_performance_schema()\u3001buf_pool_register_chunk()\u3001btr_search_sys_create()\u3001 dict_init() \u306a\u3069\u306e\u95a2\u6570\u5185\u3067\u78ba\u4fdd\u3055\u308c\u308b\u30e1\u30e2\u30ea\u3068\u6bd4\u8f03\u3059\u308c\u3070\u3001\u308f\u305a\u304b\u306a\u3082\u306e\u3068\u8a00\u3048\u308b\u3067\u3057\u3087\u3046\u3002<\/p>\n<h2>\u304a\u308f\u308a\u306b<\/h2>\n<p>\u79c1\u304c\u672c\u6765\u691c\u8a3c\u3057\u305f\u304b\u3063\u305f\u306e\u306f\u3001<\/p>\n<ul>\n<li>mysqld \u306f\u3001\u305f\u304f\u3055\u3093\u30c6\u30fc\u30d6\u30eb\u3092\u958b\u304f\u3068 buffer pool \u4ee5\u5916\u306b\u5927\u91cf\u306b\u30e1\u30e2\u30ea\u3092\u78ba\u4fdd\u3059\u308b\u3053\u3068\u304c\u7d4c\u9a13\u4e0a\u308f\u304b\u3063\u3066\u3044\u308b<\/li>\n<\/ul>\n<p>\u3068\u3044\u3046\u7d4c\u9a13\u5247\u306b\u5bfe\u3057\u3066<\/p>\n<ul>\n<li>dict_sys->table_hash->cells \u306bnode \u3092\u5272\u308a\u5f53\u3066\u308b\u3068\u3057\u3066\u3001<a href=\"https:\/\/github.com\/mysql\/mysql-server\/blob\/mysql-8.4.5\/storage\/innobase\/dict\/mem.cc#L182-L226\">\u30c6\u30fc\u30d6\u30eb\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u306b\u306f\u30c6\u30fc\u30d6\u30eb\u540d\u3084\u30ab\u30e9\u30e0\u540d\u304c\u542b\u307e\u308c\u308b\u306e\u3060\u304b\u3089\u3001\u3053\u308c\u3089\u304cglibc malloc\u306a\u3069\u3067\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u306a\u3089<\/a> arena \u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u306e\u3067\u306f<\/li>\n<li>\u4f8b\u3048\u3070 CREATE TABLE \u3068\u3044\u3046DDL\u3092\u5b9f\u884c\u3057\u305f\u5834\u5408\u3001 CREATE TABLE \u306e STATEMENT \u3084\u305d\u306e Result Set \u3068\u3001\u30c6\u30fc\u30d6\u30eb\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u306b\u542b\u307e\u308c\u308b\u30c6\u30fc\u30d6\u30eb\u540d\u3084\u30ab\u30e9\u30e0\u540d\u304c\u540c\u3058 arena \u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u305f\u5834\u5408\u3001Result Set \u3092\u8fd4\u305b\u3070 STATEMENT \u3084 Result Set \u306f free() \u3067 arena \u304b\u3089\u958b\u653e\u3067\u304d\u308b\u3051\u3069\u3001\u30e1\u30bf\u30c7\u30fc\u30bf\u306e\u30c6\u30fc\u30d6\u30eb\u540d\u3084\u30ab\u30e9\u30e0\u540d\u304c dict_sys->table_hash \u3084 dict_sys->table_id_hash \u306a\u3069\u3067\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u7d9a\u3051\u308b\u306a\u3089\u3001 arena \u306f\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8\u3057\u3066\u3044\u304f\u306e\u3067\u306f\uff1f<\/li>\n<\/ul>\n<p>\u3068\u3044\u3046\u4eee\u8aac\u3092\u7acb\u8a3c\u3067\u304d\u308b\u30c6\u30b9\u30c8\u30b1\u30fc\u30b9\u3092\u4f5c\u308c\u308b\u304b\u3001\u3068\u3044\u3046\u3053\u3068\u3060\u3063\u305f\u3093\u3067\u3059\u304c\u3001\u3044\u308d\u3044\u308d\u8a66\u3057\u3066\u3044\u308b\u3046\u3061\u306b mysqld \u8d77\u52d5\u76f4\u5f8c\u306e Resitent Set Size \u304c\u6c17\u306b\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u3001\u305d\u3061\u3089\u3092\u8abf\u3079\u3066\u3044\u305f\u3089\u30b4\u30fc\u30eb\u30c7\u30f3\u30a6\u30a3\u30fc\u30af\u304c\u7d42\u308f\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>glibc malloc \u3067\u306a\u304f tcmalloc \u3084 jemalloc \u3092\u4f7f\u3046\u3088\u3046\u306b\u3057\u3066\u3044\u308d\u3044\u308d\u8a66\u3057\u306a\u304c\u3089 pmap -x \u3092\u898b\u3066\u305f\u3089\u601d\u3046\u3068\u3053\u308d\u306a\u3069\u3042\u3063\u305f\u306e\u3067\u3001\u305d\u308c\u306b\u3064\u3044\u3066\u306f\u307e\u305f\u305d\u306e\u3046\u3061 blog \u306b\u66f8\u3051\u305f\u3089\u826f\u3044\u304b\u306a\u3068\u601d\u3046\u306a\u3069\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2>References<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.alibabacloud.com\/blog\/mysql-memory-allocation-and-management-part-ii_600992\">MySQL Memory Allocation and Management (Part II)<\/a><\/li>\n<li><a href=\"https:\/\/dev.mysql.com\/worklog\/task\/?id=6117\">WL#6117: InnoDB: Resize the InnoDB Buffer Pool Online<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u3093\u306b\u3061\u308f\u3002\u305b\u3058\u307e\u3067\u3059\u3002 \u30b4\u30fc\u30eb\u30c7\u30f3\u30a6\u30a3\u30fc\u30af\u4e2d\u306b\u81ea\u5b85\u306eLinux\u30de\u30b7\u30f3\u3067MySQL\u306e\u81ea\u7531\u7814\u7a76\u3092\u3084\u3063\u3066\u3044\u305f\u3068\u304d\u3001\u5f53\u521d\u306e\u76ee\u7684\u306f\u9054\u6210\u3067\u304d\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u305d\u306e\u526f\u7523\u7269\u3068\u3057\u3066\u3044\u308d\u3044\u308d\u6c17\u3065\u3044\u305f\u3053\u3068\u304c\u3042\u3063\u305f\u306e\u3067\u3001\u3044\u3061\u304a\u3046\u3055\u3063\u304f\u308a\u3068\u307e\u3068\u3081 [&hellip;]<\/p>\n","protected":false},"author":137,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9],"tags":[17],"class_list":["post-24866","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-info","tag-mysql"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/posts\/24866","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/users\/137"}],"replies":[{"embeddable":true,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/comments?post=24866"}],"version-history":[{"count":7,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/posts\/24866\/revisions"}],"predecessor-version":[{"id":24873,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/posts\/24866\/revisions\/24873"}],"wp:attachment":[{"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/media?parent=24866"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/categories?post=24866"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/tags?post=24866"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}