我在运行linux的服务器上有一个MySQL进程,它总是运行,至less需要使用50%的1个内核(我有8个内核)…这是进程命令:
/usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/server.mydomain.com.err --pid-file=/var/lib/mysql/server.mydomain.com.pid
这个过程在做什么? 这不是问题,只是一个问题。
你需要检查一下mysql守护进程在内部是如何工作的。 Mysql有一个内部进程的列表,请尝试运行以下命令:
mysql -u root -p -e "SHOW FULL PROCESSLIST"
如果你在你的〜/ .my.cnf中有你的密码,你可以使用watch来关注你的mysql进程列表:
watch -n 1 mysql -u root -e \"SHOW FULL PROCESSLIST\"
如果mysql一直在做50%,那么它可能正在处理一些事情,如果你能看到这些查询,那么可能有一种方法来优化它。
mytop – 用于监视MySQL性能的线程和性能的命令行实用程序。 使用这个,你可以找出哪个进程正在耗尽你的资源,你可以根据这个进行优化。
另一种优化你的mysql的方法是mysqltuner脚本 – 它只是一个小的perl脚本,当你在你的机器上运行这个脚本时,它将提供一个build议的值来优化你的mysql服务器和你当前的资源设置…..