最近由于需要,需要在两台oracle linux服务器上定期收集:CPU空闲率,内存使用率,交换分区使用率,后来写了个简单的脚本,后来加到计划任务里实现了:
#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
TIME=`date +%F' '%T`
RAM_USED=`free -m|grep Mem|awk '{print $3}'`
SWAP_USED=`free -m|grep Swap|awk '{print $3}'`
CPU_IDLE_PERCENT=`top -bn 1|grep Cpu|awk -F '%' '{print $4}'|awk '{print $2}'`
RAM_USED_PERCENT=`echo ${RAM_USED}*100/16384|bc`
SWAP_USED_PERCENT=`echo ${SWAP_USED}*100/16384|bc`
echo "NODE1 ${TIME} ${CPU_IDLE_PERCENT} ${RAM_USED_PERCENT} ${SWAP_USED_PERCENT}" >> /root/performance/performance.log
注:16384是我的机器上的内存及交换分区的大小。由于内存及交换分区的大小基本不会发生变化,所以我就将它固定在脚本里了。
#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
TIME=`date +%F' '%T`
RAM_USED=`free -m|grep Mem|awk '{print $3}'`
SWAP_USED=`free -m|grep Swap|awk '{print $3}'`
CPU_IDLE_PERCENT=`top -bn 1|grep Cpu|awk -F '%' '{print $4}'|awk '{print $2}'`
RAM_USED_PERCENT=`echo ${RAM_USED}*100/16384|bc`
SWAP_USED_PERCENT=`echo ${SWAP_USED}*100/16384|bc`
echo "NODE1 ${TIME} ${CPU_IDLE_PERCENT} ${RAM_USED_PERCENT} ${SWAP_USED_PERCENT}" >> /root/performance/performance.log
注:16384是我的机器上的内存及交换分区的大小。由于内存及交换分区的大小基本不会发生变化,所以我就将它固定在脚本里了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23230551/viewspace-705722/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23230551/viewspace-705722/