iT邦幫忙

0

如何知道freebsd的系統資源被誰吃掉了?

我公司有一個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之類的)

1 個回答

14
cafebug
iT邦高手 2 級 ‧ 2009-11-13 11:21:12
最佳解答
  1. 要知道系統在跑什麼process, 請服用"top"

2.要知道mysql目前的狀態,請服用"phpMyAdmin", 裡頭就會清清楚楚的告訴你了..

phpMyAdmin: http://www.phpmyadmin.net/home\_page/index.php

觀察web log,有可能是短時間內,被外來的程式在你的論壇裡塞垃圾廣告貼文。

而且是短時間內大量地塞。

fillano iT邦超人 1 級 ‧ 2009-11-13 13:20:05 檢舉

補充twtw大說的建議:可以用webalizer等工具分析web log,看看是否有什麼可疑的點,再回頭察log。

如果懷疑是mysql有什麼瓶頸,可以參考: http://dev.mysql.com/doc/refman/4.1/en/slow-query-log.html

可以打開取樣一段時間再關掉。如果是系統本身的query做的不好,可以用這個方式檢查。

php本身的瓶頸可以用xdebug來分析,但是這個外掛的overhead不小...放在已上線的系統可能不太好。

我要發表回答

立即登入回答