我有几个脚本每10分钟运行一次。 但有时脚本将无法正常执行,因此会导致很多睡眠过程。
所以我希望每n小时重新启动一次mysql,或者当有太多的睡眠过程时,我尝试了类似的东西
* * * * * /etc/init.d/mysql restart
(我知道这是每一分钟,但只是一个例子)但不起作用。
或者还有其他方法来阻止睡眠过程吗?如果有很多数据,我的每个脚本都可能运行8分钟。所以我设置了10分钟的cron作业。
谢谢。
答案 0 :(得分:4)
首先,正如Bjoern所说:这应该是一个临时解决方法,因为它不是一个解决方案。
你的问题是你正在尝试重新启动你的mysql客户端,而不是守护进程(mysql d ),试试这个:
0 * * * * /etc/init.d/mysqld restart
答案 1 :(得分:3)
休眠进程是处于空闲状态的mysql连接,
已建立并仍在等待下一个查询执行
你有可能正在使用myisam,你的脚本正在做一些重写,
因此阻止表读取
但是,你不应该在睡眠中杀死进程。
对睡眠状态的关注是它仍然有助于连接池,
并可能导致too many connections error
件事你必须这样做:
以下是关于sleeping connection
的文章