`
younglibin
  • 浏览: 1210874 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux监控某个进程内存占用

 
阅读更多

1.基本思路:

  

写道
1.获得这个进程内存信息
2.将内存信息定时输出到日志文件

 2.实现:

写道
1.实时内存信息
/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

 

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

 

分享到:
评论

相关推荐

    监控linux某进程内存的脚本

    很简单, 监控linux某进程内存的脚本

    查看LINUX进程内存占用情况

    * VIRT:进程占用的虚拟内存 * RES:进程占用的物理内存 * SHR:进程使用的共享内存 * S:进程的状态。S 表示休眠,R 表示正在运行,Z 表示僵死状态,N 表示该进程优先值为负数 * %CPU:进程占用 CPU 的使用率 * %...

    Linux下如何查看某一进程的CPU占用率_linux进程cpu使用率.zip

    在Linux操作系统中,掌握如何查看进程的CPU占用率是系统管理员和开发者必备的技能之一。这一过程涉及到对系统监控工具的使用,理解进程与CPU之间的交互,以及如何解析输出信息。下面将详细介绍如何在Linux环境下查看...

    查看系统的各个进程,内存占用

    8. **异常检测**:如果某个进程占用内存过高,可能是程序错误、内存泄漏或恶意软件的迹象。这时需要进一步调查,如通过调试工具分析,或者使用内存分析工具(如Valgrind)查找问题。 9. **性能优化**:了解哪些进程...

    Linux高内存占用程序

    当我们遇到“Linux高内存占用程序”时,通常意味着某些进程正在大量消耗系统资源,这可能导致系统响应变慢,甚至可能导致系统崩溃。理解如何识别、监控和处理这类问题至关重要。 首先,我们需要了解Linux内存的基本...

    Linux查看进程的内存占用情况.pdf

    在Linux操作系统中,管理和监控进程的内存使用情况是系统管理员和开发者的重要任务,这有助于确保系统的稳定性和优化资源分配。本文将详细介绍如何使用几个关键工具来查看Linux进程的内存占用情况。 首先,`top`...

    linux进程内存占用排序命令.pdf

    这样,你可以快速找到哪些进程占用了大量内存资源。 在给出的例子中,我们看到一些名为`oracle`的进程占据了较高的内存,如PID为14101的`oracle`进程,其VIRT内存为1941MB,RES内存为613MB,占用了7.7%的系统总内存...

    window和linux和android进程内存CPU等监控软件

    标题中的“window和linux和android进程内存CPU等监控软件”是指一种跨平台的系统监控工具,它可以用于Windows、Linux和Android操作系统,目的是实时监测和分析系统中的进程对内存、CPU以及GPU资源的占用情况。...

    查看LINUX进程内存占用情况.docx

    在Linux操作系统中,管理和监控进程的内存使用情况是系统管理员日常维护的重要环节。本文将详细介绍如何查看Linux进程的内存占用情况,并提供相关的命令和参数解释。 首先,`top`命令是Linux下最常用的一种实时监控...

    C/C++实现linux和Windows查看系统、进程、服务的内存和CPU使用

    C/C++实现linux和Windows查看系统、进程、服务的内存和CPU使用情况的源代码,生成的是静态链接库,Windows和Linux下经测试都可用,查看系统、指定名称的服务、指定名称的进程占用CPU和内存,查看方式不是通过程序中...

    获取指定进程的内存和cpu使用率

    通过`GetProcessIdFromName`找到进程,再利用`PdhAddCounter`添加相应的性能计数器,然后定时收集和处理数据,就能实现实时监控进程的资源占用情况。在工程实践中,这样的功能对于性能优化、故障排查具有极高的价值...

    go读取Linux下cpu占用率、cpu温度、内存占用率及磁盘占用率

    在Go语言中,读取Linux系统的CPU占用率、CPU温度、内存占用率以及磁盘占用率涉及到了系统监控和性能分析。以下将详细介绍如何利用Go实现这些功能。 1. **CPU占用率** CPU占用率是指CPU在单位时间内用于执行用户...

    如何查看 Linux 下内存占用率、 CPU 的占用率.docx

    ### 如何查看 Linux 下内存占用率 #### 方法-1:使用 `free` 和 `awk` 为了查看Linux系统中的内存占用情况,一种常用的方法是结合使用`free`和`awk`这两个强大的命令。具体步骤如下: 1. **运行 `free -t` 命令**...

    获取进程的cpu和内存的占用大小

    在IT领域,尤其是在系统管理和性能监控中,了解进程的CPU占用率和内存使用情况是非常重要的。这可以帮助我们诊断系统性能问题,优化程序运行效率,以及有效地管理资源。本篇文章将详细探讨如何在C++中获取指定进程的...

    Linux系统设计-linux 系统资源监控库,监控进程占用的CPU、内存、磁盘IO、网络IO

    Linux系统具有高效的网络功能和稳定的性能,因此被广泛应用于服务器领域,Linux是云计算的核心组成部分,被广泛用于构建云平台和云服务。许多知名的云计算服务提供商都采用Linux系统作为其基础架构,一些游戏平台和...

    根据进程ID获取进程的内存使用量,CPU使用率,线程个数据信息

    总之,监控进程的内存使用、CPU占用和线程数是理解和优化系统性能的重要手段。通过合理使用操作系统提供的接口和工具,我们可以有效地获取这些信息,为系统管理提供有力的数据支持。在实际操作中,还需要考虑并发...

    Linux任务管理器实现动态实时显示进程信息、处理器占用信息、内存占用信息,支持进程杀死操作

    在Linux系统中,任务管理器是一个非常重要的工具,它允许用户监控系统状态,包括进程信息、处理器使用率以及内存占用情况。在这个特定的场景中,我们讨论的是一个针对Linux ARM架构实现的任务管理器,名为...

    深入理解linux下查看进程内存的使用情况

    在Linux操作系统中,管理和监控进程的内存使用情况是系统管理员和开发者的重要任务,这有助于优化系统性能、排查内存泄漏等问题。本文将深入探讨如何在Linux环境下查看进程的内存使用情况。 首先,我们可以使用`top...

    按内存占用排序和按CPU占用排序的Linux TOP命令.docx

    * SZ:进程占用的内存大小 * WCHAN:进程或系统调用等待时的地址 * %CPU:cpu 使用百分比 * %MEM:内存使用百分比 * VSZ:占用虚拟内存大小 * RSS:占用物理内存大小 * START:进程开始时间 Linux TOP 命令是一个...

    linux下查看java进程下线程占用cpu情况

    通过`top`,你可以看到哪个Java进程占用了最多的CPU。 4. **`jstack` 命令**: - `jstack` 用于打印Java虚拟机的堆栈跟踪信息,可以帮助我们查看某个Java进程中的线程状态,但不直接提供CPU使用情况。结合`jps`...

Global site tag (gtag.js) - Google Analytics