设为首页 加入收藏

TOP

Linux下C程序实现输出某进程内存占用信息
2018-01-01 06:07:07 】 浏览:57
Tags:Linux 程序 实现 输出 进程 内存 占用 信息

在实际工作中有时需要程序打印出某个进程的内存占用情况以作参考, 下面介绍一种通过Linux下的伪文件系统/proc 计算某进程内存占用的程序实现方法.


首先, 为什么会有所谓的 伪文件 呢. Linux系统的文件类型大致可分为三类: 普通文件, 目录文件和伪文件. 伪文件不是用来存储数据的, 因此这些文件不占用磁盘空间, 只是存在于内存中. /proc 让你可以与内核内部数据进行交互, 获取有关进程的有用信息.


下面主要介绍一下 /proc 下面的四个文件: /proc/stat, /proc/meminfo, /proc/<pid>/stat, /proc/<pid>/status.


/proc/stat 存放系统的cpu时间, 该文件包含了所有cpu活动的信息.


/proc/meminfo 存放系统的内存信息, 通过文件中各个变量的名字便可知其代表的信息.


/proc/<pid>/stat 存放某个进程的cpu信息


/proc/<pid>/status 存放某个进程的cpu信息以及一些综合信息


以上数据都可以通过文件读取的方式来获取. 根据自己实验的需要可以计算相应的数据, 比如 pmem = VmRSS/MemTotal*100 等等.


下面只是贴出一个简单的获取某进程当前时刻所占用的实际内存的c代码实现例子.


测试文件:



编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇动态连接的诀窍:使用 LD_PRELOAD.. 下一篇Spring MVC如何测试Controller(使..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

C 语言

C++基础

windows编程基础

linux编程基础

C/C++面试题目