|
|
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已! |
|
恭喜您是本站第 1729984
位訪客!
登入 | 註冊
|
|
|
|
發表者 |
討論內容 |
冷日 (冷日) |
發表時間:2005/2/25 14:15 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15773
|
- [教學]實體記憶體消耗殆盡
- 冷日近日監測自己的小企鵝,
發現每到凌晨四點以後, 冷日的小企鵝的實體記憶體都會被消耗殆盡(原本總共256M會變4M左右)! 一度以為是MYSQL或是PHPBB的問題, 但是不合理的是每天都會發生再凌晨四點左右!
經冷日連續四天的追查, 發現這不是HTTP或是MYSQL的問題, 冷日亦持續追蹤SENDMAIL和NAMED等SERVICE, 證實似乎也不是她們的錯!
最後只好去追究每天的LOG, 可是在看過所有的LOG以後, 只看到全部都是經常性(或說例行性)的資料會再每天的四點到五點間被執行!
那冷日就往CRONJOB方向檢查, 因為冷日的 cron.daily 是再每天的凌晨四點二十二分被喚起, 所以首先懷疑DAILY的CRONJOB, 在冷日把它停掉一天以後, 真的就不在有原先的問題了!
然後冷日就在今天針對所有 cron.daily 裡面的所有SHELL檢查一遍, 終於找到兇手了! 把我的實體記憶體吃光光的就是 slocate !
冷日去找了一下啥是 slocate , 得到如下結論: [quote:c14ac16e2e]slocate 是具安全觀念的檔案搜尋工具。locate 是這個指令的前身。由於她做搜尋時是針對自己建立的 slocate 索引資料庫,所以找尋的速度比 find 要來的快。[/quote:c14ac16e2e] 但是因為預設 cron.daily 會每天更新檢索資料庫, 也就是他把冷日的記憶體吃光光,又不會還回來! 在這裡跟大家分享一下, 如果大家發現你的小企鵝有類似(記憶體被吃光光)的狀況, 可能可以檢查一下你的 slocate 版本, 是不是和冷日一樣是 slocate-2.3-3 ! 如果是的話,就先把它停掉吧! 這樣你的記憶體就又回到你的懷抱了!
報告完畢!
|
|
|
冷日 (冷日) |
發表時間:2005/2/25 14:39 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15773
|
- [轉貼]slocate說明
指令名稱: slocate(1) - 系統檔案檢索 (GNU 版的 locate) |
語法: slocate [-qi] [-d <path>] [--database=<path>] <search string> slocate [-i] [-r <regexp>] [--regexp=<regexp>] slocate [-qv] [-o <file>] [--output=<file>] slocate [-e <dir1,dir2,...>] [-f <fstype1,...>] <[-l <level>] [-c] <[-U <path>] [-u]> slocate [-Vh] [--version] [--help] |
說明: slocate 是具安全觀念的檔案搜尋工具。locate 是這個指令的前身。由於她做搜尋時是針對自己建立的 slocate 索引資料庫,所以找尋的速度比 find 要來的快。 檢索資料庫,通常由系統以設定 cron 的方式,每天做更新的動作。 |
選項:- -u
- 建立以根目錄(/)為起點的 slocate 索引資料庫。
- -U
- 建立以指定的 dir 為起點的 slocate 索引資料庫。
- -e <dir1,dir2,...>
- 建立 slocate 索引資料庫時,排除指定的目錄。
- -f <fstype1,...>
- 建立 slocate 索引資料庫時,排除指定的檔案系統型態。
- -c
- 依 '/etc/updatedb.conf' 檔案的設定,更新索引資料庫。
- -l <level>
- 安全等級,當 level = 0,表示取消安全模式。當 level = 1,表示啟動安全模式(預設值)。
- -i
- 搜尋時,忽略字母大小寫。
- -q
- 靜默模式。不顯示任何錯誤訊息。
- -n <num>
- 指定 num 為顯示符合資料筆數的上限。
- -r <regexp>, --regexp=<regexp>
- 以 POSIX 的常規法則(regular expression)做搜尋。
- -o <file>, --output=<file>
- 指定 file 作為產生索引資料庫的檔案名稱。
- -d <path>, --database=<path>
- 指定 path 做搜尋。
- -h, --help
- 顯示程式用法資訊
- -v, --verbose
- 詳細顯示模式。建立資料庫時顯示檔案名稱。
- -V, --version
- 顯示程式本身的版本資訊
|
實例說明:使用前的認知slocate 指令是對自己的檔案索引資料庫做搜尋的,因此效率比 find 指令快很多;但,對新檔案就可能發生找不到的現象。這點不須注意。以 RH9 為例,資料庫以 cron 每天更新,檔案在 /etc/cron.daily/slocate.cron,所以預設的 slocate 索引資料庫的更新週期就以"天"為單位了。當然你可以是自己的需要做更動。 簡例 # slocate index.php
....輸出略 |
使用原則上很簡單,也支援常規法則(regular expression)做搜尋。其他的,自己看看"選項說明"應該不成問題的。這篇簡單到此。 |
原文出處 : 網路農夫
|
|
|