茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1674936 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00115.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

小企鵝開談 : [教學]實體記憶體消耗殆盡

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[教學]實體記憶體消耗殆盡
冷日近日監測自己的小企鵝,
發現每到凌晨四點以後,
冷日的小企鵝的實體記憶體都會被消耗殆盡(原本總共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 !
如果是的話,就先把它停掉吧!
這樣你的記憶體就又回到你的懷抱了!

報告完畢!
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]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)做搜尋。其他的,自己看看"選項說明"應該不成問題的。這篇簡單到此。



原文出處 : 網路農夫
前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|