Multiple instances of mysqld in iotop I see one mysqld process in the output of ps (or top),
mysql     77858  9.9 30.3 13750312 10089460 ?   Sl   Jul09 443:27 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

but at the same time, I see multiple instances in the output of iotop command.
 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

I want to know how much that is normal? Which mysql parameter controls that? Should I increase more or decrease? I guess that is related to the connections made to the db.
The system is ubuntu 18.04 and has 32 GB of memory and the pool size is 8 GB.
Normal.
On some operating systems, MySQL shows up as a single process.  (There are probably &quot;threads&quot; inside it.)
On other operating systems, there is one main process, but each connection has its own process.  This is what you are seeing.
A combination of max_connections, &quot;connection pooling&quot;, thread_cache_size, user activity, and maybe some other things, lead to how many processes you will see.
Is it an issue?  Generally, no.  If you have configured things poorly, other clues will be more important than the number of processes in ps or top or iotop.  You are very likely to see that most of them are in &quot;Sleep&quot; mode when you do SHOW PROCESSLIST.  If you see lots of non-Sleep connections, the you may be missing some indexes (especially &quot;composite&quot; indexes) or have poorly formulated queries.  The slowlog is a better way to look for those.