监控单个进程占用cpu与内存的使用情况
#!/bin/bash
interval=1
if [ "$1" != "" ]
then
interval=$1
fi
echo "检查时间间隔(单位秒):"$interval
datetime=`date +'%Y%m%d'`
while :
do
#获取用户es占用cpu、内存、虚拟内存、物理内存、共享内存的信息
#echo `date +'%d %H:%M:%S'` %cpu: `top -n 1 -u es|tail -2|head -1|awk '{ssd=NF-4} {print $ssd}'` %mem: `top -n 1 -u es|tail -2|head -1|awk '{ssd=NF-3} {print $ssd}'` VIRT: `top -n 1 -u es|tail -2|head -1|awk '{ssd=NF-8} {print $ssd}'` RES: `top -n 1 -u es|tail -2|head -1|awk '{ssd=NF-7} {print $ssd}'` SHR: `top -n 1 -u es|tail -2|head -1|awk '{ssd=NF-6} {print $ssd}'` >> /home/es/hhs/es_user.txt
echo `date +'%d %H:%M:%S'` %cpu: `top -n 1 -p 3117|tail -2|head -1|awk '{ssd=NF-4} {print $ssd}'` %mem: `top -n 1 -p 3117|tail -2|head -1|awk '{ssd=NF-3} {print $ssd}'` VIRT: `top -n 1 -p 3117|tail -2|head -1|awk '{ssd=NF-8} {print $ssd}'` RES: `top -n 1 -p 3117|tail -2|head -1|awk '{ssd=NF-7} {print $ssd}'` SHR: `top -n 1 -p 3117|tail -2|head -1|awk '{ssd=NF-6} {print $ssd}'` >> /home/es/hhs/es_user.txt
#取系统当前时间(以追加的方式写入文件>>)
echo `date +'%d %H:%M:%S'` >> /home/es/hhs/date-time.txt
#抓取当前15分钟内cpu的占用情况(以追加的方式写入文件>>)
echo average_load: `uptime | awk '{print $NF}'` >> /home/es/hhs/average_load.txt
#抓取物理内存free值(以追加的方式写入文件>>)
echo Mem-total: `free -m | grep Mem | awk '{print $2}'`M Mem-used: `free -m | grep Mem | awk '{print $3}'`M Mem-free: `free -m | grep Mem | awk '{print $4}'`M >> /home/es/hhs/mem-free.txt
#抓取缓冲区的free值(以追加的方式写入文件>>)
echo cache-used: `free -m | grep - | awk '{print $3}'`M buffers/cache-free: `free -m | grep - | awk '{print $4}'`M >> /home/es/hhs/buffers-free.txt
#抓取Swap分区free值(以追加的方式写入文件>>)
echo Swap-total: `free -m | grep Swap | awk '{print $2}'`M Swap-used: `free -m | grep Swap | awk '{print $3}'`M Swap-free: `free -m | grep Swap | awk '{print $4}'`M >> /home/es/hhs/swap-free.txt
#逐行连接上面的时间和内存相关行数据(每次重新写入文件>)
paste /home/es/hhs/date-time.txt /home/es/hhs/average_load.txt /home/es/hhs/mem-free.txt /home/es/hhs/buffers-free.txt /home/es/hhs/swap-free.txt > /home/es/hhs/freemem.txt
sleep $interval
done
监控单个进程占用cpu与内存的使用情况的更多相关文章
- Python测试进阶——(5)Python程序监控指定进程的CPU和内存利用率
用Python写了个简单的监控进程的脚本monitor190620.py,记录进程的CPU利用率和内存利用率到文件pid.csv中,分析进程运行数据用图表展示. 脚本的工作原理是这样的:脚本读取配置文 ...
- .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
原文:.NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用? 都知道可以在任务管理器中查看进程的 CPU 和内存占用,那么如何通过 .NET 编写代码的方式来获取到 ...
- linux测试某进程占用oi、cpu、内存的使用情况
pidstat 概述 pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu.内存.线程.设备IO等系统资源的占用情况.pidstat首次运行时显示自系统启动开始的各项统计信息, ...
- Apache服务器httpd.exe进程占用cpu超过50%的解决方法
httpd.exe进程占用cpu超过50%,关闭掉Apache服务,cpu应用率立刻下降到0. 重新启动Apache又出现占用cpu高的情况. 原因是:httpd.exe和防火墙配置有冲突. 解决 ...
- postgresql某进程占用cpu资源过高,降不下来
由于是开发阶段,所以并没有配置postgres的参数,都是使用安装时的默认配置,以前运行也不见得有什么不正常,可是前几天我的cpu资源占用突然升高.查看进程,发现有一个postgres的进程占用CPU ...
- linux ps命令,查看某进程cpu和内存占用率情况, linux ps命令,查看进程cpu和内存占用率排序。 不指定
背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况.一. linux ps命令,查看某进程cpu和内存占用率情况[root@test vhost]# ps auxUSER ...
- linux下分析java程序占用CPU、内存过高
一.CPU过高分析 1)使用TOP命令查看CPU.内存使用状态可以发现CPU占用主要分为两部分,一部分为系统内核空间占用CPU百分比,一部分为用户空间占用CPU百分比.其中CPU状态中标示id的为空闲 ...
- 监控系统负载与CPU、内存、硬盘、登录用户数,超出警戒值则发邮件告警。
zzx@zzx:~$ cat warning.sh #!/bin/bash #监控系统负载与CPU.内存.硬盘.登录用户数,超出警戒值则发邮件告警. 前提安装mail服务nh=`uname -r ...
- 如何按名称或PID查找一个进程?如何按端口号查找一个进程?如何查看一个进程的CPU和内存、文件句柄使用情况?如何查看CPU利用率高的TOP10进程清单?如何根据PID强制终止进程?
如何按名称或PID查找一个进程?如何按端口号查找一个进程?如何查看一个进程的CPU和内存.文件句柄使用情况?如何查看CPU利用率高的TOP10进程清单? 目录 如何按名称或PID查找一个进程?如何按端 ...
随机推荐
- C 小白的 thrift 环境搭建
公司有个通讯 是用的 thrift ,thrift 是个什么都东西,可以类比 webservice 吧,比 webservice 高效些,不管是啥,搞他! 先在 mac 上搞本地开发环境 网上一搜 貌 ...
- DWM1000 收发RXLED TXLED控制代码修改
DWM1000 模块一共可以最多外接4个LED,但是API默认只会只用到两个LED,分别是RXLED.TX LED. 特别注意:RXLED 是模块在RX 状态,而不是接收到数据. 修改代码,使得4个L ...
- [jzoj]3875.【NOIP2014八校联考第4场第2试10.20】星球联盟(alliance)
Link https://jzoj.net/senior/#main/show/3875 Problem 在遥远的S星系中一共有N个星球,编号为1…N.其中的一些星球决定组成联盟,以方便相互间的交流. ...
- 对于服务器AdminServer, 与计算机Machine-0相关联的节点管理器无法访问
控制台启动server时报"对于服务器server-1与计算机machin<!--StartFragment -->对于服务器AdminServer, 与计算机Machine-0 ...
- IE下CSS3伪类的支持
当css3.0出现以后,着实让我兴奋了好久,因为出现了很多选择器,我们在也不用靠js做复杂判断了.比如:nth-child,很容易就可以判断奇偶对象 “:nth-child(2n)和:nth-chil ...
- Codechef July Challenge 2018 : Subway Ride
传送门 首先(想了很久之后)注意到一个性质:同一条边有多种颜色的话保留3种就可以了,这是因为假如最优解要求当前位置与相邻两条边都不相同,那么只要有3条边,就肯定可以满足这一点. 完事就做一个nlogn ...
- nginx/php的redis模块扩展
redis模块介绍 redis2-nginx-module 可以实现 Nginx 以非阻塞方式直接防问远方的 Redis 服务,可以启用强大的 Redis 连接池功能,进而实现更多的连接与更快速的访问 ...
- .NET Core开发日志——GraphQL
GraphQL是什么 GraphQL既是一种用于API的查询语言也是一种通过使用对应数据的类型系统,执行数据查询的服务端运行时.GraphQL没有局限于任何数据库或存储引擎,而是通过既有代码及数据获得 ...
- js对重复数组去重
var arr=[1,1,1,1,2,2,2,3,3,4,1,4,5,7,8,7,7] let m = {} arr.filter(item => m[item] >= 1 ? false ...
- Redis单机多节点集群实验
第一步:安装Redis 前面已经安装过了 不解释, Reids安装包里有个集群工具,要复制到/usr/local/bin里去 cp redis-3.2.9/src/redis-trib.rb /usr ...