服务器收集信息,收集服务器配置资源信息(示例代码)

收集服务端和数据库层操作系统的配置;方便后期按系统比例配置进行估算

1.cpu资源收集

1)查看cpu型号

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

2)物理cpu个数

grep "physical id" /proc/cpuinfo | sort |uniq | wc -l

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

3)查看cpu的core即核数

grep "cpu cores" /proc/cpuinfo | uniq | awk -F ‘:’ "{print $2}"

cat /proc/cpuinfo| grep "cpu cores"| uniq

4)逻辑cpu

cat /proc/cpuinfo| grep "processor"| wc -l

逻辑cpu=物理CPU个数×每颗核数,如果不相等的话,则表示服务器的CPU支持超线程技术;

此时逻辑cpu=物理CPU个数×每颗核数x2

5)是否开启intel的超线程技术(HT)

cat /proc/cpuinfo |grep "sibling"|uniq

cat /proc/cpuinfo | grep "cpu cores"|uniq

如果有两个逻辑CPU具有相同的"core id",那么超线程是打开的。可以根据以下原则,来判断是否支持HT技术。

如果"siblings"和"cpu cores"一致,则说明不支持超线程,或者超线程未打开。

如果"siblings"是"cpu cores"的两倍,则说明支持超线程,并且超线程已打开。

逻辑CPU数量=物理cpu数量 x cpu cores x 2(如果支持并开启ht)

2.内存

free -g

3.网络

/sbin/ethtool

4.磁盘