查看某进程创建的线程数:
- cat /proc/<pid>/status | grep Threads
需要在my.cnf的[mysqld]下加上interactive_timeout和wait_timeout用以控制sleep状态连接的超时时间
- [mysqld]
- ndbcluster
- ndb-connectstring=192.168.254.5:1186
- max_connections=2000
- wait_timeout=60
- interactive_timeout=60
- #default-character-set=cp936
- #tmp_table_size=1024M
- #max_heap_table_size=1024M
- skip-name-resolve
- [mysql_cluster]
- ndb-connectstring=192.168.254.5:1186
关于interactive_timeout和wait_timeout,转一篇sweetdream_xia兄的文章
下面是转自:http://space.itpub.net/23073137/viewspace-718538
interactive_timeout与wait_timeout
1.interactive_timeout
关闭交互式连接前等待活动的秒数。交互式客户端指在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。
参数默认值:28800秒(8小时)
2.wait_timeout
服务器在关闭非交互式连接在一个连接上等待活动的秒数。
参数默认值:28800秒(8小时)
3.修改上述两个参数的必要性
服务器所支持的最大连接数是有上限的,每个连接都会占用一定的内存资源,因此当客户端访问MySQL服务器处理完相应的操作后,就应该断开连接释放内存资源。如果服务器有大量的闲置连接,这样就会白白的浪费内存,且如果一直在累加而不断开的话,就会达到连接上限,报"too many connections”的错误。可通过命令"show process list”查看,若发现后台有大量的sleep线程,此时就需要调整上述参数了。
4.应用场景:
在my.cnf中单独修改wait_timeout,mysqld重启后仍不生效;
同时修改interactive_timeout和wait_timeout参数,重启服务器后生效。
5.结论
interactive_timeout的值如果和wait_timeout的值如果不一致,且mysql_real_connect()指定了client_interactive选项,那么interactive_timeout的值会覆盖wait_timeout的值,即若想使wait_timeout的值生效,必须同时设置以上两个参数。
阅读(3515) | 评论(0) | 转发(0) |