2011-04-06 34 views
3

mysql中的一個進程佔用了98%的cpu資源,每當我殺死這個進程時,它都會返回新的PID,我猜它是在循環中。有沒有辦法永久停止這個過程,因爲它會導致我的網站極度緩慢?有什麼建議麼?mysql進程在循環中無法停止

+0

您的Web服務器上有什麼活動?是否有任何代碼在那裏運行長循環,而且會頻繁地調用?我會先從這些開始。通常,長時間運行的查詢設計不佳,沒有合適的索引。 – Rasika 2011-04-06 11:20:23

回答

2

我認爲這是由非優化或過重的查詢造成的。如果你殺了MySQL並且有人重新啓動了腳本,那麼負載將在邏輯上再次上升。嘗試查看正在執行的查詢。

+0

在進程管理器中我得到這個命令 /usr/sbin/mysqld --basedir =/--datadir =/var/lib/mysql --user = mysql --log-error =/var/lib/mysql/sitename .sitename.com.err --open-files-limit = 33628 --pid-file =/var/lib/mysql/sitename.sitename.com.pid – malik 2011-04-06 11:19:53

+0

任何想法是什麼意思? – malik 2011-04-06 11:20:56

+0

這就是mysql守護進程。 – Rasika 2011-04-06 11:22:29

2

如果將mysql用作網站的支持,您可能需要在slow query log處獲得一個掠奪來檢查導致這種密集CPU使用率的查詢。

另外你可能需要一些新的索引。