一、说明:
之前在做srs流媒体压测时,系统资源相关的数据查看不方便,于是就使用C++ 加上shell脚本,实时获取Linux系统资源情况并将数据写入到数据库中。
二、脚本目录介绍:
流媒体服务器(172.18.152.*3)
脚本目录介绍:
/root/GetSystemInfo //脚本目录
GetSystemInfo.cpp //主程序
cpurate.sh //获取cpu使用率
getsize.sh //获取磁盘空间
memrate.sh //获取内存使用率
network_recev.sh //获取网络接收流量
network_send.sh //获取网络发送流量
getonline.sh //获取在线个数
runtest.sh //编译并运行主程序
推流端(172.18.152.*6)
脚本目录介绍:
/root/ //目录
kill_rtmp_pid.cpp //调用GetPidAndKill.sh脚本
GetPidAndKill.sh //获取pid并杀掉
rtmp_publish_test.sh //开始推流脚本
runtest.sh //编译并运行kill_rtmp_pid.cpp
拉流端(172.18.151.*4)
脚本目录介绍:
/root/ //目录
kill_rtmp_pid.cpp //调用GetPidAndKill.sh脚本
GetPidAndKill.sh //获取pid并杀掉
rtmp_load_test.sh //开始拉流脚本
runtest.sh //编译并运行kill_rtmp_pid.cpp
三、系统资源的获取
1、 cpu使用率获取:
原理是读取系统的 (/proc/stat)文件,然后再提取出想要的数据,再对其进行计算,如图:
第一行的数值表示的是CPU总的使用情况,所以我们只要用第一行的数字计算就可以了。下面对各项参数进行解释说明:
user (1581512)
nice (9124)
从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间