监控单个进程占用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语言面对对象设计模式汇编
			面向对象发展到今天,已经出现了许许多多优秀的实践.方法和技术.很多的技术都能够有效的提高软件质量.IBM上的<面向对象软件开发和过程>系列文章对面对对象设计从如下层面进行了详细的介绍:代码 ... 
- Navicat Premium 最新版本12.1.16-64bit 完美破解,亲测可用!
			声明:本文只是提供一个网络上找到的针对12.1.16版本的破解注册机使用方式做一个说明,不建议企业用户破解,毕竟码农不容易,有条件的还是希望大家购买原版.当然个人学习用的但又不想购买原版的,这里只是提 ... 
- [LeetCode] Cheapest Flights Within K Stops K次转机内的最便宜的航班
			There are n cities connected by m flights. Each fight starts from city u and arrives at v with a pri ... 
- C. Vasya and Robot二分
			1.题目描述 Vasya has got a robot which is situated on an infinite Cartesian plane, initially in the cell ... 
- CentOS / RHEL 7 : How to setup yum repository using locally mounted DVD
			1. Mount the RHEL 7 installation media ISO to some directory. For example /mnt : # mount -o loop rhe ... 
- 面向面试编程代码片段之GC
			x 代码 using System; using System.Threading; public static class Program{ public static void Main(){ T ... 
- java_基础_异常
			之前只是了解的最基础的异常形式,没有过多的深入 今天因为一些原因了解了一下 下面来说说异常的几种形式 1.try-catch语句块 代码示例 class test{ public static voi ... 
- 4.29python
			题目: 代码:(?) list = input().split()list1 = []list2 = []for i in range(len(list)): if (i+1)%3 != 0 and ... 
- debug_backtrace
			<?php one(); function one() { two(); } function two() { three(); } function three() { print_r( de ... 
- 2018-2019-2 20165225《网络对抗技术》Exp1  缓冲区溢出实验
			2018-2019-2 20165225<网络对抗技术>Exp1 缓冲区溢出实验 声明 虽然老师在邮箱中要求要把虚拟机名改为个人名字缩写,但是我的kali好像不是很听话...重启数次也没用 ... 
