1.基本思路:
写道
1.获得这个进程内存信息
2.将内存信息定时输出到日志文件
2.将内存信息定时输出到日志文件
2.实现:
写道
1.实时内存信息
/proc/进程ID/status
2.将这个信息写入到 脚本中
/proc/进程ID/status
2.将这个信息写入到 脚本中
2.1
先看一个初始化的简单脚本:
写道
#! /bin/bash
pid=$(cat /home/dc_workspace/logs/DataCell.pid)
echo $pid
while (true)
do
currentTime=`date +%y-%m-%d-%X-%Z`
echo $currentTime
echo $currentTime"-------------------------" >> /home/dc_workspace/logs/$pid.mem
cat /proc/$pid/status | grep Vm >> /home/dc_workspace/logs/$pid.mem
sleep 10s
done
pid=$(cat /home/dc_workspace/logs/DataCell.pid)
echo $pid
while (true)
do
currentTime=`date +%y-%m-%d-%X-%Z`
echo $currentTime
echo $currentTime"-------------------------" >> /home/dc_workspace/logs/$pid.mem
cat /proc/$pid/status | grep Vm >> /home/dc_workspace/logs/$pid.mem
sleep 10s
done
3.脚本代码:
这个脚本有两个输入参数: pid文件的路径 和 内存输出的,最后输出的文件信息在 和pid文件在相同的目录下 $pid.mem 文件中,
#! /bin/bash pidFile=$1 sleepTime=$2 if [ ! $pidFile ] ;then echo "please set pid file path" exit 0 fi if [ -f $pidFile ] ; then echo $pidFile else echo $pidFile" pid file path not exist" exit 0 fi if [ ! $sleepTime ] ; then sleepTime=10 fi pid=`cat $pidFile` pidPath=${pidFile%/*} echo $pid echo "pidPath: "$pidPath while [ $pid ] do currentTime=`date +%y-%m-%d-%X-%Z` echo $currentTime echo $currentTime"-------------------------" >> $pidPath/$pid.mem cat /proc/$pid/status | grep Vm >> $pidPath/$pid.mem sleep $sleepTime done
4.看下输出结果吧:
写道
13-08-30-15时13分18秒-CST-------------------------
VmPeak: 11303480 kB
VmSize: 10697548 kB
VmLck: 0 kB
VmHWM: 4122892 kB
VmRSS: 1931880 kB
VmData: 10225608 kB
VmStk: 88 kB
VmExe: 4940 kB
VmLib: 10180 kB
VmPTE: 6500 kB
VmSwap: 0 kB
13-08-30-15时13分28秒-CST-------------------------
VmPeak: 11303480 kB
VmSize: 10687228 kB
VmLck: 0 kB
VmHWM: 4122892 kB
VmRSS: 1993228 kB
VmData: 10225608 kB
VmStk: 88 kB
VmExe: 4940 kB
VmLib: 10180 kB
VmPTE: 6476 kB
VmSwap: 0 kB
VmPeak: 11303480 kB
VmSize: 10697548 kB
VmLck: 0 kB
VmHWM: 4122892 kB
VmRSS: 1931880 kB
VmData: 10225608 kB
VmStk: 88 kB
VmExe: 4940 kB
VmLib: 10180 kB
VmPTE: 6500 kB
VmSwap: 0 kB
13-08-30-15时13分28秒-CST-------------------------
VmPeak: 11303480 kB
VmSize: 10687228 kB
VmLck: 0 kB
VmHWM: 4122892 kB
VmRSS: 1993228 kB
VmData: 10225608 kB
VmStk: 88 kB
VmExe: 4940 kB
VmLib: 10180 kB
VmPTE: 6476 kB
VmSwap: 0 kB
相关推荐
很简单, 监控linux某进程内存的脚本
C/C++实现linux和Windows查看系统、进程、服务的内存和CPU使用情况的源代码,生成的是静态链接库,Windows和Linux下经测试都可用,查看系统、指定名称的服务、指定名称的进程占用CPU和内存,查看方式不是通过程序中...
go读取Linux下cpu占用率、cpu温度、内存占用率及磁盘占用率
1.面向window和linux和android三个平台。 2.线程可监控物理内存,虚拟内存,CPU和GPU等占用情况。 3.输出结果保存为exls或者csv可进行图形化分析。
在服务器运维过程中,...3.Linux使用 Shell检测进程内存使用量 4.Linux使用 Shell检测进程句柄使用量 5.Linux使用 Shell查看某个 TCP 或 UDP 端口是否在监听 6.Linux使用 Shell查看某个进程名正在运行的个数 7.Linux
通过定时 crontab -e 任务,执行脚本,监测服务器的cpu,内存,磁盘,负载,超出预定的值时发邮件到自己的邮箱告警,很好的提前预防服务器的资源紧张问题。
perfmonitor linux/windows 进程级别性能监控工具,输出指定进程的cpu、内存占用曲线 简介: 基于psutil开发,跨平台。 支持多进程监控。 支持输出内存、cpu占用曲线。 支持发送性能监控报告邮件。
Linux系统提供了who、w、...Linux提供的这些命令都能提供关于进程的一些信息,可以通过它们查看系统当前的进程状况,也可以找出那些占用了过多系统资源的进程并结束该进程。它们的优点在于速度快,透明性好,直观明了。
Linux系统具有高效的网络功能和稳定的性能,因此被广泛应用于服务器领域,Linux是云计算的核心组成部分,被广泛用于构建云平台和云服务。许多知名的云计算服务提供商都采用Linux系统作为其基础架构,一些游戏平台和...
linux进程的一切知识.zip 进程占用的内存空间布局,虚拟空间地址分布 进程启动的3种方式 监控子进程的状态 进程的终止 僵尸进程
支持监控TRSServer全文检索服务器,可以支持其检索功能,监控数据同步是否正常,监控进程存在,以及数据库索引问题。 同时可监控Linux系统的运行状态,监控磁盘使用情况,并可设定磁盘占用阈值,CPU使用情况。 该...
在Linux/类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop。 安装iftop 如果采用编译安装可以到...
Linux Source Monitor(CPU、Mem、IO、Net) (linux 系统资源监控库,监控进程占用的CPU、内存、磁盘IO、网络IO)所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一...
top命令是Linux下常用的性能分析工具,比如cpu、内存的使用,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来...
在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop。
但是,有些时候想要通过她寻找一个占用系统资源比较大的应用或进程可能会比较困难。 因为 top 命令本身并不会帮助我们高亮那些吃太多 CPU,内存,或者其他资源的程序。 为了达到这个目标,这里我们将介绍一款超牛逼...
linux运维监控工具,支持系统信息,linux查看cpu占用率,linux查看内存,linux查看摄像头,监控温度,磁盘空间及IO,硬盘smart,系统负载,网络流量等监控,API接口监测,大屏展示,拓扑图,端口监控,进程监控,...
系统负载、cpu使 用率、内存占用、磁盘空间、网络流量、端口、进程、apache或tomcat的连接数、mysq l的运行状态这些都是我想要监控的东西,但又能做到多少呢,我只能尽力而为了。要了 解服务器每时每刻的整体运行...
写一个小程序在后台记录每个进程的CPU使用情况,揪出锁屏后占用CPU的进程,于是自己写了一个C++类CPUusage,方便地监视不同进程的CPU占用情况。本人编程还只是个新手,如有问题请多多指教
android内存监测之procrank Android系统中提供了两个命令行工具procrank、procmem用于查看系统中的内存使用情况。这两个工具对于我们分析...procrank可以查看系统中所有进程的整体内存占用情况,并按照规则排序。