Skip to content

Instantly share code, notes, and snippets.

@yoku0825
Last active February 22, 2022 08:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yoku0825/4805f09c5567e1ceae5f72c10769d238 to your computer and use it in GitHub Desktop.
Save yoku0825/4805f09c5567e1ceae5f72c10769d238 to your computer and use it in GitHub Desktop.
----system---- ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- ------memory-usage----- --io/total- ---load-avg---
time |usr sys idl wai hiq siq| read writ| recv send| in out | int csw | used buff cach free| read writ| 1m 5m 15m
21-02 10:01:24| 3 0 96 1 0 0| 0 5998k| 567k 1127k| 0 0 |3088 5277 |6573M 2392k 48.2G 8303M| 0 373 |0.19 0.16 0.19
21-02 10:01:25| 2 0 96 1 0 0| 0 8285k| 425k 847k| 0 0 |2847 4928 |6573M 2392k 48.2G 8299M| 0 329 |0.19 0.16 0.19
mysql> SELECT COUNT(*), NOW() FROM prepared_statements_instances;
+----------+---------------------+
| COUNT(*) | NOW() |
+----------+---------------------+
| 28 | 2022-02-22 08:49:54 |
+----------+---------------------+
1 row in set (0.00 sec)
mysql>
mysql> SELECT COUNT(*), NOW() FROM prepared_statements_instances;
+----------+---------------------+
| COUNT(*) | NOW() |
+----------+---------------------+
| 31 | 2022-02-22 08:50:01 |
+----------+---------------------+
1 row in set (0.00 sec)
mysql>
mysql> SELECT COUNT(*), NOW() FROM prepared_statements_instances;
+----------+---------------------+
| COUNT(*) | NOW() |
+----------+---------------------+
| 34 | 2022-02-22 08:50:07 |
+----------+---------------------+
1 row in set (0.00 sec)

on docker node

$ cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

$ head /proc/meminfo
MemTotal:       65807672 kB
MemFree:        63729104 kB
MemAvailable:   63782624 kB
Buffers:               0 kB
Cached:           386220 kB
SwapCached:            0 kB
Active:          1169480 kB
Inactive:          98848 kB
Active(anon):     882216 kB
Inactive(anon):      844 kB

$ sudo docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=1 -e MYSQL_ROOT_PASSWORD="""" -e MYSQL_ROOT_HOST=""%"" --name test-mysql mysql/mysql-server:8.0
ffbebecb9e43f91ef16ea1b8846c3f5ba66bb18a13c7537c4a2790f674f90036

$ sudo docker exec -it test-mysql mysql
mysql> SET GLOBAL innodb_buffer_pool_size = 3 * 1024 * 1024 * 1024;

on client node

$ cd git/database-memory-leak-test/
$ vim .env
DATABASE_URL="mysql://root@test001-yoku0825-jp2v-dev:3306/memory-leak-test"

$ npm run database::migrate:dev
$ npm start
mysql> SELECT event_name, count_alloc, count_free, current_number_of_bytes_used FROM memory_summary_global_by_event_name ORDER BY current_number_of_bytes_used DESC LIMIT 10;
+-----------------------------------------------------------------------------+-------------+------------+------------------------------+
| event_name | count_alloc | count_free | current_number_of_bytes_used |
+-----------------------------------------------------------------------------+-------------+------------+------------------------------+
| memory/sql/Prepared_statement::main_mem_root | 5046 | 366 | 10959383040 |
| memory/sql/String::value | 339174981 | 327757654 | 502399944 |
| memory/innodb/buf_buf_pool | 1 | 0 | 137170944 |
| memory/performance_schema/events_statements_summary_by_digest | 1 | 0 | 41600000 |
| memory/innodb/ut0link_buf | 2 | 0 | 25165888 |
| memory/innodb/log_buffer_memory | 1 | 0 | 16778224 |
| memory/performance_schema/events_statements_history_long | 1 | 0 | 14640000 |
| memory/performance_schema/events_errors_summary_by_thread_by_error | 257 | 0 | 12816384 |
| memory/performance_schema/events_statements_summary_by_thread_by_event_name | 1 | 0 | 10764288 |
| memory/performance_schema/events_statements_summary_by_digest.digest_text | 1 | 0 | 10240000 |
+-----------------------------------------------------------------------------+-------------+------------+------------------------------+
10 rows in set (0.00 sec)
-- Ctrl + Cでnpmを止める
mysql> SELECT event_name, count_alloc, count_free, current_number_of_bytes_used FROM memory_summary_global_by_event_name ORDER BY current_number_of_bytes_used DESC LIMIT 10;
+-----------------------------------------------------------------------------+-------------+------------+------------------------------+
| event_name | count_alloc | count_free | current_number_of_bytes_used |
+-----------------------------------------------------------------------------+-------------+------------+------------------------------+
| memory/innodb/buf_buf_pool | 1 | 0 | 137170944 |
| memory/performance_schema/events_statements_summary_by_digest | 1 | 0 | 41600000 |
| memory/innodb/ut0link_buf | 2 | 0 | 25165888 |
| memory/innodb/log_buffer_memory | 1 | 0 | 16778224 |
| memory/performance_schema/events_statements_history_long | 1 | 0 | 14640000 |
| memory/performance_schema/events_errors_summary_by_thread_by_error | 257 | 0 | 12816384 |
| memory/performance_schema/events_statements_summary_by_thread_by_event_name | 1 | 0 | 10764288 |
| memory/performance_schema/events_statements_summary_by_digest.digest_text | 1 | 0 | 10240000 |
| memory/performance_schema/events_statements_history_long.digest_text | 1 | 0 | 10240000 |
| memory/performance_schema/events_statements_history_long.sql_text | 1 | 0 | 10240000 |
+-----------------------------------------------------------------------------+-------------+------------+------------------------------+
10 rows in set (0.00 sec)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment