2007年10月16日 星期二

主機異常CPU 100%跑了2周, mysql跑出超級多檔


今晚米沙反應說主機好像很慢@@!
一開始檢查我還沒發現... CPU居然是 100%滿狀態...因為我這瀏覽起來都還算順暢
看了一下MRTG 線上人數 跟 流量表 都不算高...因為MRTG監控裡面有個是 HDD 溫度
幾乎是萬年平平直線...所以就沒啥注意下面兩格...再回頭看一次才發現! 哇哩勒...
剛剛滿的是 CPU 100%... 在點進去細看, 哇靠@@... CPU已經100% 跑了一兩週了
主機太穩了也太快了雙XEON 開 HT等於幾乎是4顆CPU的效能!!..我這瀏覽操作沒明顯變慢...沒感覺
於是login進去shell看是啥搞鬼跑 100% 疑! 怎麼是 mysqld, 又由於 是雙主機 實際 mysql 不是在 web 這台跑
web上的mysql 只是個 slave 所以這台的 mysql 就算跑100% 也是不大影響網頁出現速度
先嚐試 重開 mysql, 結果沒用@@ 好吧! 看要看 log 寫啥? 切進去 /var/db/mysql 裡面要看 mysql 的 log 檔
疑!! 下 ls 怎麼沒反應??卡住??
退回上一層 ls ! 正常@@!, 再進去試一次 還是卡... 這次丟著看看...過幾分鐘後 畫面開始跑了.....
哇靠!!滿畫面 跑不完的檔案 list ... mysql-bin.000001~XXXXXX....
瞎咪狀況...這時 rm -rf mysql-bin.* 哇勒!! 吐 tcsh: /bin/rm: Argument list too long
檔案太多了多到 rm 沒法刪... 真是暈倒...
好吧!! 想說我一點一點刪
rm -rf mysql-bin.01[0-2]*
最多一次只能刪這麼多再多就給你上面那個抗議訊息了
刪到02XXXX 放棄....真的是太多了 超級大量檔案 這樣刪要刪到哪時候阿!!
這只有 mysql-bin 還有 relay-bin.000001~XXXXXX 勒...

這也就是為什麼 mysqld 會跑 100% 了他的工作目錄下太多檔案了...至於為什麼跑出這麼多檔來
也是要等清除乾淨後才有辦法查

開始搜尋資料...果然是萬能的 Google 大神
也有人有碰到需要 刪除超大量 (eg 5000+) 檔案 的狀況
不過大部分好像都是因為 mail server 因為被當跳板OR大量廣告信寄件主機 造成
/var/spool/mqueue 佇列信件過多 整個 mail server 大塞機
重點來了...他跟我一樣 會碰到 rm 跟你抗議檔案太多

找到的第一篇教你用 script + find 嚐試結果不行 find 這樣用也會吃到 Argument list too long
不過該作者他也注明了 沒測試過, USE AT YOUR OWN RISK
所以算了!!! 繼續找其他方法...

結果就是找到 find + xargs

後續請看論壇
[技巧] 非Windows下 刪除極大量檔案


2007年10月2日 星期二

小築 虛擬股市 正式開市了

增加 虛擬股市 的插件外掛遊戲

目前開戶者 贈送 10萬 股幣

因為看我同學 神堂光 諾鐵達工坊之論壇 架設的外掛遊戲 蠻好玩的
我在他那玩了幾個星期在今天也把程式弄過來架起來了!