我想比较一下运行 Linux(Centos)的服务器 - 从 CPU 角度。
我想过把所有 CPU 的 bogomips 加起来进行比较,但是只能得出这行丑陋的 shell 代码:
echo 0 `cat /proc/cpuinfo | grep bogomips | cut -d ":" -f 2 | tr " " "+" `| bc
(需要 0,因为否则该行以 + 开头并且不适合 bc)
有没有更好的方法来做到这一点?
答案1
awk -F: '/bogomips/ {sum+=$2} END {print sum}' /proc/cpuinfo
答案2
你的很好(78 字节),可以缩短一点并链接到单个命令(例如 perl)
perl -ne's/mips\s*:\s*(\S+)/$i+=$1/eg; END{print$i}' /proc/cpuinfo
四舍五入很简单:
perl -ne's/mips\s*:\s*(\S+)/$i+=$1/eg; END{print int($i+0.5)}' /proc/cpuinfo
或者,使用“:”(-F) 上的自动分割选项
perl -F: -ane '$i+=$F[1] if $F[0]=~/mips/; END{print $i}' /proc/cpuinfo
问候
離子
答案3
sed -ne '
/^bogomips/ {
s/^bogomips[ \t]\+:[ ]\+\([0-9.]\+\)/\1+/
H
}
$ {
g
s/\n//g
s/+$//
p
}
d
' /proc/cpuinfo \
| bc
没有小数:
echo $[`sed -ne '
/^bogomips/ {
s/^bogomips[ \t]\+:[ ]\+\([0-9]\+\).*/\1+/
H
}
$ {
g
s/\n//g
s/+$//
p
}
d
' /proc/cpuinfo`]