亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 處理vmstat [打印本頁]

作者: tannyzhou1    時(shí)間: 2016-07-29 08:15
標(biāo)題: 處理vmstat
vmstat 3 5
kthr      memory            page            disk          faults      cpu
r b w   swap  free  re  mf pi po fr de sr f0 s0 s1 --   in   sy   cs us sy id
0 0 0 26220572 12838248 14 110 6 1 1 0  6 -0  1 -0  0  392  824  522  2  2 56
1 0 0 26209644 12816220 0 15 0 0  0  0  0  0  0  0  0  398  738  496  2  2 77
0 0 0 26209564 12816140 0 2 0  0  0  0  0  0  0  0  0  407  731  498  1  1 67
0 0 0 26209564 12816140 0 2 0  0  0  0  0  0  0  0  0  405  722  492  2  1 47
0 0 0 26209564 12816140 0 3 0  0  0  0  0  0  1  0  0  381  755  485  2  1 46

當(dāng)CPU的idle大于50%,把結(jié)果定向到一個(gè)文件中。如何實(shí)現(xiàn)?
對shell不了解,還請各位幫忙看看如何實(shí)現(xiàn)
作者: 關(guān)陰月飛    時(shí)間: 2016-07-29 08:26
vmstat 3 5 |awk '$NF>50' >urfile
作者: tannyzhou1    時(shí)間: 2016-07-29 08:31
vmstat 3 5 | sed -n '3,$p' | awk '{if($22>50) print $0 1.log else print $0 2.log;}'
只能把大于50的值顯示,我的要求是:CPU的ilde 大50時(shí),把源文件全部定向到1.log,當(dāng)idle有小于50的,把源文件(包括大于50的)定向到文件2.log
但是我寫的腳本只能把大于50的寫到1.log ,小于50的寫到2.log

作者: tannyzhou1    時(shí)間: 2016-07-29 08:47
回復(fù) 2# 關(guān)陰月飛
請問小于50的時(shí)候,想把文件全部(包括大于50的)定向到一個(gè)文件.如何實(shí)現(xiàn)?


   
作者: 關(guān)陰月飛    時(shí)間: 2016-07-29 09:10
本帖最后由 關(guān)陰月飛 于 2016-07-29 09:10 編輯
tannyzhou1 發(fā)表于 2016-07-29 08:31
vmstat 3 5 | sed -n '3,$p' | awk '{if($22>50) print $0 1.log else print $0 2.log;}'
只能把大于50的值 ...
只能把大于50的值顯示,我的要求是:CPU的ilde 大50時(shí),把源文件全部定向到1.log,當(dāng)idle有小于50的,把源文件(包括大于50的)定向到文件2.log


要是同時(shí)存在【小于50】和【大于50】的情況下,怎么辦?

作者: tannyzhou1    時(shí)間: 2016-07-29 09:15
回復(fù) 5# 關(guān)陰月飛

同時(shí)存在[大于50]以及[小于50]的話,就把[大于50和小于50]的都定向到一個(gè)文件.即把源文件定向到一個(gè)文件

   
作者: 關(guān)陰月飛    時(shí)間: 2016-07-29 09:30
本帖最后由 關(guān)陰月飛 于 2016-07-29 09:32 編輯

回復(fù) 6#
大于50 --> p1.txt
小于50 --> p2.txt
全都有 -->  all.txt
tannyzhou1
  1. vmstat  3 5 |awk 'NR>3{if($NF>50)p1=1;else p2=1}  {a=a!=""?a"\n"$0:$0}  END{if(p1&&p2)print a>"all.txt";else if(p1) print a>"p1.txt";else if(p2)print a>"p2.txt"}'
復(fù)制代碼

作者: tannyzhou1    時(shí)間: 2016-07-29 09:37
回復(fù) 7# 關(guān)陰月飛


    {a=a!=""?a"\n"$00}
這段代碼是啥意思?可否麻煩您幫忙解釋下?非常感謝!
作者: 關(guān)陰月飛    時(shí)間: 2016-07-29 09:52
回復(fù) 8# tannyzhou1


    保存所有輸出到變量a中
作者: tannyzhou1    時(shí)間: 2016-07-29 11:49
回復(fù) 9# 關(guān)陰月飛

vmstat 3 5 > t.log
cat t.log | awk 'NR>2{ if($NF>50) print $0 > "t1.log";else print $0 >"t2.log";}'
if [ -s "t2.log" ]
then
        echo "##The remain memory greater than 4GB or the CPU idle greater than 50%.##"
        paste -d t1.log t2.log >> $fileame2
        cat /dev/null > t1.log
        cat /dev/null > t2.log
else
        echo "##Each parameter is normal............................................##"
        cat t1.log >> $filename1
        cat /dev/null > t1.log
fi

我這么寫的,也達(dá)到了預(yù)期目的!但是沒有你的簡潔!


   
作者: 杰大森    時(shí)間: 2016-08-01 08:19
vmstat 3 5 | awk '{if($15>50 || NR<=2)print}'
作者: 請叫我俊哥哈    時(shí)間: 2016-08-01 13:22
本帖最后由 請叫我俊哥哈 于 2016-08-01 13:23 編輯


作者: 請叫我俊哥哈    時(shí)間: 2016-08-01 13:31
vmstat 3 5 | awk 'NR>2{if($NF>50)print $NF > "1.log"};NR>2{print $NF > "2.log"}'





歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2