红联Linux门户
Linux帮助

计算Linux系统资源的简单脚本

发布时间:2014-11-28 10:22:23来源:linux网站作者:andylhz2009

简单的统计服务器的每个服务的内存使用 CPU 的使用率 内存剩余大小。写了简单的脚本,可能不是很准确,下面写出来供大家参考,那位高人有更好的方法请共享出来哈。


脚本具体的内容:


#!/bin/bash

#system  resources statistic script.

cpu_use=`ps aux | awk '{print $3}' |awk 'BEGIN{sum=0}{sum+=$1}END{print sum}'`
echo ==========================
echo CPU_USE:$cpu_use %

#上面是统计CPU的使用率

echo ==========================
echo APACHE_MEM_USE:`ps aux | grep httpd | grep -v "grep httpd" |awk '{print $6}' |awk 'BEGIN{sum1=0}{sum1+=$1}END{print sum1/1024}'` M
echo ==========================

#上面是统计apache的的内存使用 只是运行mysql 的web管理

NDB_MEM_USE=`ps aux | grep ndb | grep -v "grep ndb" |awk '{print $6}' |awk 'BEGIN{sum2=0}{sum2+=$1}END{print sum2/1024}'`

SQL_MEM_USE=`ps aux | grep mysql | grep -v "grep mysql" |awk '{print $6}' |awk 'BEGIN{sum3=0}{sum3+=$1}END{print sum3/1024}'`

echo MYSQL_MEM_USE:`echo $NDB_MEM_USE  $SQL_MEM_USE |awk '/./{print $1 + $2}'` M

#这个是统计 mysql 群集结点的内存使用

echo ==========================
echo SYS_MEM_FREE:`free -m |awk '/Mem/{print $4}'` M
echo ==========================

可以把脚本做成一个计划任务每2小时执行一次, 并发送邮件给你自己的邮箱中


下面是输出结果:
CPU_USE:0.1 %
APACHE_MEM_USE:87.0117 M
MYSQL_MEM_USE:1923.05 M
SYS_MEM_FREE:5205 M