我在ps (或top)的输出中看到了一个mysqld进程,
mysql 77858 9.9 30.3 13750312 10089460 ? Sl Jul09 443:27 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid但同时,我在iotop命令的输出中看到了多个实例。
77883 be/4 mysql 0.00 B/s 0.00 B/s 0.00 % 5.27 % mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
8537 be/4 mysql 0.00 B/s 3.44 K/s 0.00 % 4.50 % mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
77887 be/4 mysql 0.00 B/s 433.41 K/s 0.00 % 1.79 % mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
77884 be/4 mysql 0.00 B/s 0.00 B/s 0.00 % 1.59 % mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
77889 be/4 mysql 0.00 B/s 433.41 K/s 0.00 % 0.93 % mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
77886 be/4 mysql 0.00 B/s 901.22 K/s 0.00 % 0.29 % mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
77888 be/4 mysql 0.00 B/s 220.15 K/s 0.00 % 0.13 % mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
126013 be/4 mysql 0.00 B/s 6.88 K/s 0.00 % 0.07 % mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
48458 be/4 mysql 0.00 B/s 10.32 K/s 0.00 % 0.05 % mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
78017 be/4 mysql 0.00 B/s 3.44 K/s 0.00 % 0.04 % mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
31528 be/4 mysql 0.00 B/s 3.44 K/s 0.00 % 0.04 % mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid我想知道这有多正常?这是哪个mysql参数控制的?我应该增加还是减少?我想这与与数据库的连接有关。
该系统为ubuntu18.04,内存32 GB,池大小为8GB。
发布于 2020-07-12 19:40:31
很正常。
在某些操作系统上,MySQL显示为单个进程。(里面可能有“线程”。)
在其他操作系统上,有一个主进程,但每个连接都有自己的进程。这就是你所看到的。
max_connections、“连接池”、thread_cache_size、用户活动以及其他一些东西的结合,将导致您将看到多少进程。
这是问题吗?一般情况下不会。如果配置不当,其他线索将比ps、top或iotop中的进程数量更重要。当您执行SHOW PROCESSLIST时,您很可能会看到它们中的大多数处于“睡眠”模式。如果您看到许多非睡眠连接,您可能会丢失一些索引(特别是“复合”索引)或有格式不佳的查询。慢速日志是寻找这些的更好的方法。
https://dba.stackexchange.com/questions/270790
复制相似问题