【求助】有辦法做到 CPU%低於多少 執行Script嗎?



贊助商連結


laker
2005-10-13, 11:37 AM
因為擔心執行rsync會用到太多CPU resource

所以沒有沒辦法判斷 cpu負載低時,
執行rsync?

感謝囉

贊助商連結


cedric2000
2005-10-13, 06:14 PM
另一種方法可以考慮用調整nice value的方式去做
讓rsync在系統比較閒的時候去跑
供你參考囉

laker
2005-10-13, 09:42 PM
呵呵 感謝您的回覆
我今實測, 也有使用Nice來測
我是用top來監看,

發覺 nice的也會佔掉一些CPU resource.

有用nice跟沒用nice, 結果似乎差不多... 感謝囉

另請教, rsync的問題?

rsync似乎沒有做完一次sync?
中斷後, 又重做, 進度似乎又從零開始?

假設我資料量有240g, 我在某個時段做, 某個時段中斷
假如我想回復之前的進度, 有辦法嗎?

repsol
2005-10-21, 07:29 PM
我記的 rsync的 mailing list 裡 有看過 rsync 效率相關的討論,你不妨去哪邊翻翻看 他們的討論看看

linux_xp
2005-10-21, 10:24 PM
/proc/loadavg 這個檔,會紀錄系統負載,並且是自動更新的

cat /proc/loadavg
可以得到三組數據
分別是系統 1、5、15 分鐘前的平均負載值,單位是工作件數

取其第一項的數值的整數部份,判斷是否小於 1(或者更高,視情況)
若是,代表系統目前為低負載,則執行後面的程式

範例:
---------------------------
[ $(cut -f 1 -d' ' /proc/loadavg | cut -f 1 -d.) -le 1 ] && echo "system is Low-load"


排程每小時執行一次
即每小時檢查一次,判斷是否有達到低負載條件

* */1 * * * .........


但是這樣會有一個問題,備份一天只要一次就行了
若每小時檢查得到的結果都是低負載,則每小時都會執行備份

可以加寫一些判斷式
若已經執行備份了,就建立一個全域變數,寫入值 1
下次再執行時,先檢查這個全域變數的值,1不執行,0執行
然後排程每日0點,將這個全域變數的值歸0

:)