监控Linux系统所选的服务所占进程内存占用

Posted 孤舟点点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监控Linux系统所选的服务所占进程内存占用相关的知识,希望对你有一定的参考价值。

【代码】

 1 #!/bin/bash
 2 #程序功能描述:
 3 #    监控系统所选的服务所占进程内存占用
 4 #作者:孤舟点点
 5 #版本:1.0
 6 #创建时间:2017-10-12 02:18:22
 7 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
 8 export PATH
 9 #这里定义监控的服务名称或者PID号
10 line="NetworkManager"
11 
12 p=`pwd`
13 File=$p/jiankongService.txt
14 HOST=`hostname`
15 Day=`date +"%Y%m%d"`
16   
17   #判断文件夹是否存在,存在则删除重建,不存在则新建
18   if [ -d "$p/$i$HOST$Day" ]; then
19   rm -rf "$p/$i$HOST$Day"
20   mkdir "$p/$i$HOST$Day"
21   else
22   mkdir "$p/$i$HOST$Day"
23   fi
24   cd $p/$i$HOST$Day
25  
26   PID=`ps -ef | grep -v grep | grep "$line" | awk {print $2}` 
27 for((j=1;j<=144;j=j+1))
28   do
29     touch $p/$i$HOST$Day/$line.txt
30     if [ ! -f $p/$i$HOST$Day/$line$PID.txt ];then
31       touch $p/$i$HOST$Day/$line$PID.txt
32       Time=`date "+%Y%m%d-%H%M%S"`
33       NEICUN=`top c -bn1 | grep -v grep | grep "$PID" | awk {print $6}`
34       echo "$Time $NEICUN" >> $p/$i$HOST$Day/$line.txt
35       echo "`cat $p/$i$HOST$Day/$line.txt | grep -v grep | grep 2017`" >>$p/$i$HOST$Day/$line$PID.txt
36       rm $p/$i$HOST$Day/$line.txt
37       sleep 10
38     else
39       Time=`date "+%Y%m%d-%H%M%S"`
40       NEICUN=`top c -bn1 | grep -v grep | grep "$PID" | awk {print $6}`
41       echo "$Time $NEICUN" >> $p/$i$HOST$Day/$line.txt
42       echo "`cat $p/$i$HOST$Day/$line.txt | grep -v grep | grep 2017`" >>$p/$i$HOST$Day/$line$PID.txt
43       rm $p/$i$HOST$Day/$line.txt
44       sleep 10
45     fi
46   done

输出格式为:时间 内存使用大小

以上是关于监控Linux系统所选的服务所占进程内存占用的主要内容,如果未能解决你的问题,请参考以下文章

linux 监控内存介绍

Linux命令-查看指定程序RAM内存占用率和CPU占用率的两种方式

linux服务器CPU占用率800%左右...

如何在Linux系统中察看进程占用的资源,Linux高手请进!

Linux下如何查看哪些进程占用的CPU内存资源最多

windows进程占io用啥命令