linux 查看服务器作业,linux – 如何在服务器负载较低时运行作业?
我有一個(gè)運(yùn)行磁盤快照的命令(在EC2上,凍結(jié)XFS磁盤并運(yùn)行EBS快照命令),該命令設(shè)置為作為cron作業(yè)定期運(yùn)行.理想情況下,如果在任務(wù)計(jì)劃運(yùn)行時(shí)磁盤被大量使用,我希望能夠?qū)⒚钛舆t一段時(shí)間.
我擔(dān)心使用nice / ionice可能沒(méi)有正確的效果,因?yàn)槲蚁M_本在運(yùn)行時(shí)以高優(yōu)先級(jí)運(yùn)行(即等待一段時(shí)間,然后快速完成).
謝謝.
更新:
這就是我最終的目標(biāo).它檢查/ proc / diskstats并在當(dāng)前IO活動(dòng)達(dá)到0時(shí)運(yùn)行我的作業(yè),或者我們超時(shí).當(dāng)我看看我們的服務(wù)器在生產(chǎn)中實(shí)際獲得的IO活動(dòng)時(shí),我可能不得不調(diào)整它:
#!/bin/bash
DEVICE=sdf
# we want to make a snapshot when IO in progresses reaches this:
LOW_THRESHOLD=0
TIMER=0
MAX_SEC_DELAY=120
# Get the number of IO operations in progress:
ioInProgress(){
grep $DEVICE /proc/diskstats | awk '{print $12}'
}
# Wait for a good time to run snapshot,else timeout:
while [[ $TIMER -lt $MAX_SEC_DELAY && $(ioInProgress) -gt $LOW_THRESHOLD ]]; do
TIMER=`expr $TIMER + 1`
sleep 0.5
done
# Recording delay required:
echo $TIMER
echo "Executing snapshot"
run-the-snapshot
總結(jié)
以上是生活随笔為你收集整理的linux 查看服务器作业,linux – 如何在服务器负载较低时运行作业?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 在按键精灵lua插件怎么使用?
- 下一篇: 使用2.26内核的linux,介绍lin