MySQL 有超过 95,000 个连接,但进程列表为空?

MySQL 有超过 95,000 个连接,但进程列表为空?

我有一台运行 mysql 的服务器,它使用了大量内存。我跑:

mysql > show status like '%onn%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| Aborted_connects         | 4     |
| Connections              | 98609 |
| Max_used_connections     | 20    | 
| Ssl_client_connects      | 0     |
| Ssl_connect_renegotiates | 0     |
| Ssl_finished_connects    | 0     |
| Threads_connected        | 1     |
+--------------------------+-------+

但是,如果我以 root 用户身份运行“show processlist”,我就看不到任何内容。我已经尝试过谷歌,但它总是会出现与连接错误相关的内容。有人可以解释一下为什么我看不到这些连接以及如何实际进入并看到它们吗?

答案1

connection参数有点用词不当。它表示已与服务器建立的连接数自从服务器启动以来。您可能感兴趣的是Threads connected.

答案2

你必须使用ip_conntrack netfilter模块,然后你可以操纵最大连接数。你必须改变net.ipv4.netfilter.ip_conntrack_maxvia的值sysctl

相关内容