[Study] top是如何实现的?
Posted carlsplace
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Study] top是如何实现的?相关的知识,希望对你有一定的参考价值。
Linux中的top命令是如何实现的?
初探
top是procs
的一部分, 常用来查看系统的负载情况. procs
中除了top外, 还包括ps, free, w, uptime, watch, sysctl
等常用的命令. 了解top命令除了直接在terminal使用之外, 就是top的官方文档和源代码了.
不过在此之前, 我们可以用strace top
看下运行top命令时到底做了什么?
- 首先会读取一系列以依赖文件
- 然后会读取一些系统配置信息
- 最后就是从
/proc
目录下读取进程的statm信息
/proc/xxx/statm
[cal@manjaro-nuc10i7fnh ~]$ cat /proc/self/statm 2126 130 114 6 0 112 0
2126
a)进程占用的总的内存
130
b)进程当前时刻占用的物理内存
114
c)同其它进程共享的内存
6
d)进程的代码段
0
e)共享库(从2.6版本起,这个值为0)
112
f)进程的堆栈
0
g)dirty pages(从2.6版本起,这个值为0)
- 关于/proc/xxx/stat的讲解可以参考这两篇博客:
Linux中 /proc/[pid] 目录各文件简析
/proc/stat解析
源代码实现
挖坑, 先记个参考资料 https://blog.csdn.net/ubuntu2016/article/details/79439658
以上是关于[Study] top是如何实现的?的主要内容,如果未能解决你的问题,请参考以下文章