我公司有一個discuz架設的論壇,
作業系統是採用Freebsd
最近常發生系統資源被吃光的情況,
使用top進去觀察,發現
cpu的使用量部分
有時mysql可以衝到2x%,
另外有幾個pid是跑httpd有時候也會衝到7%-20%(大部分都還是在0.x%左右)
memory使用量部分
有時mysql可以衝到30%,
另外有幾個pid是跑httpd有時候也會衝到15%-30%(大部分都還是在0.x%左右)
我想請問的是,有什麼方法可以知道這些造成cpu與men使用量衝這麼高的pid是在跑些什麼東西?(例如httpd是在跑php的那一支程式、mysql可能是在讀那個table之類的)
2.要知道mysql目前的狀態,請服用"phpMyAdmin", 裡頭就會清清楚楚的告訴你了..
phpMyAdmin: http://www.phpmyadmin.net/home_page/index.php
觀察web log,有可能是短時間內,被外來的程式在你的論壇裡塞垃圾廣告貼文。
而且是短時間內大量地塞。
補充twtw大說的建議:可以用webalizer等工具分析web log,看看是否有什麼可疑的點,再回頭察log。
如果懷疑是mysql有什麼瓶頸,可以參考: http://dev.mysql.com/doc/refman/4.1/en/slow-query-log.html
可以打開取樣一段時間再關掉。如果是系統本身的query做的不好,可以用這個方式檢查。
php本身的瓶頸可以用xdebug來分析,但是這個外掛的overhead不小...放在已上線的系統可能不太好。