手机版
你好,游客 登录 注册
背景:
阅读新闻

Linux top 命令入门知识

[日期:2015-02-26] 来源:Linux社区  作者:kaifly [字体: ]

但file_rss为什么叫做shared呢?应该是一种指示性表述,表示这部分内存可能是共享的。但并不代表真正共享了。那么到底哪些计入file_rss?通过查阅相关代码,发现(可能有遗漏):

1、程序的代码段。
2、动态库的代码段。
3、通过mmap做的文件映射。
4、通过mmap做的匿名映射,但指明了MAP_SHARED属性。
5、通过shmget申请的共享内存

注:如何精确的计算进程占用的内存
我们注意到在描述进程信息的proc/<pid>内,有一个smaps文件,里面展示了所有内存段的信息,其中有Shared_Clean Shared_Dirty Private_Clean Private_Dirty:几个字段。

统计smaps文件内所有段的Shared_*值的总和就是进程准确的共享内存数量!
统计smaps文件内所有段的Private_*值的总和就是进程准确的独占内存数量!

S -- 进程状态

%CPU -- 自上次刷新以来该进程占用的总cpu时间的百分比.在一个true SMP environment(真正的对称多处理器环境)下,如果’Irix mode’关闭(默认为打开状态),top将运行在’Solaris mode’,此模式下一个任务的cpu使用率将会被除以CPU数量之后显示。通过 I 命令可以交互式关闭/打开此模式 

%MEM -- 任务使用物理内存的百分比

TIME+  -- (ms)和time类似,以毫秒为单位显示

P -- 上一次用到的cpu,在‘多cpu环境下’显示该进程上一次使用的cpu节点

SWAP -- (kb)任务的总虚拟内存镜像被换到交换分区的部分。看到一篇博客说:这里应该是改进程使用过的swap的量
另:top汇总部分swap信息里面cached的部分表示的是曾经换入swap后又被换出,但是swap里的内容还未被覆盖的部分

Swap: 32767992k total,  986504k used, 31781488k free,  2740516k cached

TIME -- (s)任务自启动以来占用的CPU总时间。如果’Cumulative mode’(累计模式,默认关闭)打开,将显示此简称以及此进程的子进程(包括已死的)总共占有的cpu时间。累计模式可以通过命令行和交互式两种模式打开
例如下图:TIME+表示9517s33ms;TIME 表示158m37

Linux top 命令入门知识

CODE --  (kb)用来‘执行程序代码’的物理内存/存放进程代码的物理内存

DATA -- (kb)Data+Stack size。进程占用实体内存中的非程序码部份的大小

COMMAND -- 启动进程的命令

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-02/114109.htm

linux
相关资讯       Linux top命令  Linux top 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款