Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Cannot Reproduce
-
10.5.8
-
Fresh alpine linux 3.13 container running on an arm v7 debian 10.7 host
Description
Issue has also been filed in alpine packages
The following issue appeared with mariadb 10.5.8 (there is no issue with alpine 3.12 and mariadb 10.4.x):
- On arm v7 (32 bits) mysqld consumes about 100% cpu when idle, but still works.
- On arm v8 (64 bits) or amd64, it consumes near 0% cpu when idle as expected.
I see only one difference in start logs (but that may be irrelevant):
- arm v7 : "Using generic crc32 instructions"
- arm v8 : "Using ARMv8 crc32 instructions"
Any idea why this happens and if there is an option in mysqld to circumvent the issue?
Steps to reproduce:
~ # apk --update --upgrade add mariadb sudo
|
~ # mkdir /run/mysqld
|
~ # chown mysql:mysql /run/mysqld
|
~ # sudo -su mysql
|
~ $ mysql_install_db
|
~ $ mysqld --datadir=./data
|
Attachments
Activity
Field | Original Value | New Value |
---|---|---|
Description |
The following issue appeared with mariadb 10.5.8 (there is no issue with alpine 3.12 and mariadb 10.4.x):
- On arm v7 (32 bits) mysqld consumes about 100% cpu when idle, but still works. - On arm v8 (64 bits) or amd64, it consumes near 0% cpu when idle as expected. I see only one difference in start logs (but that may be irrelevant): - arm v7 : "Using generic crc32 instructions" - arm v8 : "Using ARMv8 crc32 instructions" Any idea why this happens and if there is an option in mysqld to circumvent the issue? Steps to reproduce: ~ # apk --update --upgrade add mariadb sudo ~ # mkdir /run/mysqld ~ # chown mysql:mysql /run/mysqld ~ # sudo -su mysql ~ $ mysql_install_db ~ $ mysqld --datadir=./data |
Issue has also been [filed in alpine packages|https://gitlab.alpinelinux.org/alpine/aports/-/issues/12384]
The following issue appeared with mariadb 10.5.8 (there is no issue with alpine 3.12 and mariadb 10.4.x): - On arm v7 (32 bits) mysqld consumes about 100% cpu when idle, but still works. - On arm v8 (64 bits) or amd64, it consumes near 0% cpu when idle as expected. I see only one difference in start logs (but that may be irrelevant): - arm v7 : "Using generic crc32 instructions" - arm v8 : "Using ARMv8 crc32 instructions" Any idea why this happens and if there is an option in mysqld to circumvent the issue? Steps to reproduce: ~ # apk --update --upgrade add mariadb sudo ~ # mkdir /run/mysqld ~ # chown mysql:mysql /run/mysqld ~ # sudo -su mysql ~ $ mysql_install_db ~ $ mysqld --datadir=./data |
Description |
Issue has also been [filed in alpine packages|https://gitlab.alpinelinux.org/alpine/aports/-/issues/12384]
The following issue appeared with mariadb 10.5.8 (there is no issue with alpine 3.12 and mariadb 10.4.x): - On arm v7 (32 bits) mysqld consumes about 100% cpu when idle, but still works. - On arm v8 (64 bits) or amd64, it consumes near 0% cpu when idle as expected. I see only one difference in start logs (but that may be irrelevant): - arm v7 : "Using generic crc32 instructions" - arm v8 : "Using ARMv8 crc32 instructions" Any idea why this happens and if there is an option in mysqld to circumvent the issue? Steps to reproduce: ~ # apk --update --upgrade add mariadb sudo ~ # mkdir /run/mysqld ~ # chown mysql:mysql /run/mysqld ~ # sudo -su mysql ~ $ mysql_install_db ~ $ mysqld --datadir=./data |
Issue has also been [filed in alpine packages|https://gitlab.alpinelinux.org/alpine/aports/-/issues/12384]
The following issue appeared with mariadb 10.5.8 (there is no issue with alpine 3.12 and mariadb 10.4.x): - On arm v7 (32 bits) mysqld consumes about 100% cpu when idle, but still works. - On arm v8 (64 bits) or amd64, it consumes near 0% cpu when idle as expected. I see only one difference in start logs (but that may be irrelevant): - arm v7 : "Using generic crc32 instructions" - arm v8 : "Using ARMv8 crc32 instructions" Any idea why this happens and if there is an option in mysqld to circumvent the issue? Steps to reproduce: {{~ # apk --update --upgrade add mariadb sudo ~ # mkdir /run/mysqld ~ # chown mysql:mysql /run/mysqld ~ # sudo -su mysql ~ $ mysql_install_db ~ $ mysqld --datadir=./data}} |
Description |
Issue has also been [filed in alpine packages|https://gitlab.alpinelinux.org/alpine/aports/-/issues/12384]
The following issue appeared with mariadb 10.5.8 (there is no issue with alpine 3.12 and mariadb 10.4.x): - On arm v7 (32 bits) mysqld consumes about 100% cpu when idle, but still works. - On arm v8 (64 bits) or amd64, it consumes near 0% cpu when idle as expected. I see only one difference in start logs (but that may be irrelevant): - arm v7 : "Using generic crc32 instructions" - arm v8 : "Using ARMv8 crc32 instructions" Any idea why this happens and if there is an option in mysqld to circumvent the issue? Steps to reproduce: {{~ # apk --update --upgrade add mariadb sudo ~ # mkdir /run/mysqld ~ # chown mysql:mysql /run/mysqld ~ # sudo -su mysql ~ $ mysql_install_db ~ $ mysqld --datadir=./data}} |
Issue has also been [filed in alpine packages|https://gitlab.alpinelinux.org/alpine/aports/-/issues/12384]
The following issue appeared with mariadb 10.5.8 (there is no issue with alpine 3.12 and mariadb 10.4.x): - On arm v7 (32 bits) mysqld consumes about 100% cpu when idle, but still works. - On arm v8 (64 bits) or amd64, it consumes near 0% cpu when idle as expected. I see only one difference in start logs (but that may be irrelevant): - arm v7 : "Using generic crc32 instructions" - arm v8 : "Using ARMv8 crc32 instructions" Any idea why this happens and if there is an option in mysqld to circumvent the issue? Steps to reproduce: {noformat} ~ # apk --update --upgrade add mariadb sudo ~ # mkdir /run/mysqld ~ # chown mysql:mysql /run/mysqld ~ # sudo -su mysql ~ $ mysql_install_db ~ $ mysqld --datadir=./data {noformat} |
Attachment | mariadb_sql_commands.txt [ 55953 ] |
Attachment | perf.report [ 56540 ] | |
Attachment | perf.data [ 56541 ] |
Epic/Theme | server |
Fix Version/s | N/A [ 14700 ] | |
Resolution | Cannot Reproduce [ 5 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 118709 ] | MariaDB v4 [ 158847 ] |
On arm v7 can you obtain two backtraces (with a few seconds between them):
https://mariadb.com/kb/en/how-to-produce-a-full-stack-trace-for-mysqld/#getting-backtraces-from-a-running-mysqld-process-with-gdb-on-linux including '
set print frame-arguments all' in a gdb config option or command line.
Also can you perform a `perf record -g -p $(pidof mysqld) – sleep 2` / `perf report -g --no-children --stdtio` to show where the CPU time is spent.
Can you execute SQL like 'SHOW PROCESSLIST', 'SHOW ENGINE STATUS INNODB', 'SHOW GLOBAL STATUS'?
Can you attach these outputs to this JIRA issue please?
The lack of v7 optimized CPU isn't likely to cause 100% CPU, however the backtraces will show this.