Linux内核:进程管理——进程资源占用分析

本文的主要目标是简单地了解下linux下进程的构成,可以通过命令行直接查看进程内部已打开资源,对于实际调试中资源泄露有所帮助。
摘要由CSDN通过智能技术生成

0 引言

最近在分析安卓程序上的monkey测试日志时发现,需要了解下Linux进程资源占用情况及其查看方法。之前在windows上有ProcessExplorer可以直接查看,在Linux下就没这么方便了,只能通过命令行来查看。
所以本文的目标就在于:在你知道你要分析的进程名之后,通过命令行工具读取进程的PID、CPU占用情况、内存占用情况、已打开文件描述符、网络情况。

1 找到进程PID

目前使用比较经典的命令是top。比如我想找player关键词的进程,可以使用:

# top | grep player
 2319 u0_a127  20   0  22% S   450 3254600K 1162720K  ta com.real.simpleplayer
 2134 u0_a14   20   0   0% S    13 1410516K  37624K  bg com.huawei.hwvplayer.youku

这样就可以很简单找到你需要的进程PID。当然也可以使用其他命令行工具,比如atop、Htop等等。(参考文献中有很多,有兴趣可以查看下)

2 给定进程资源占用情况

这里的资源包括:CPU、内存、打开句柄、内部线程。(上面提到的工具都有对应的数据列,这里仅提供最原始的查阅方式。)
linux的新创建进程会自动创建/proc/pid目录,其中包含以下部分:

目录名 功能说明
cmdline 包含了用于启动进程的命令行
cwd 包含了当前进程工作目录的链接
environ 包含了可用进程环境变量的列表
exe 包含了正在进程中运行的可执行文件的链接
fd 包含了进程打开的每一个文件的链接
maps 与进程相关的内存映射信息
mem 包含了进程在内存中的内容
stat 包含了进程的状态信息
statm 包含了进程的内存使用信息
limits 存储了进程的软限制,硬限制等信息
root 指向进程根目录的软链接
self 链接到当前正在运行的进程
task 包含当前进程所有子线程pid

说明一点,我使用的是Huawei Mate9的adb shell。
例如以下是cat limits的输出结果:

# cat limits                                               
Limit                     Soft Limit           Hard Limit           Units   
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes   
Max data size             unlimited            unlimited            bytes   
Max stack size            8388608              unlimited            bytes   
Max core file size        0                    unlimited            bytes   
Max resident set          unlimited            unlimited            bytes   
Max processes             11590                11590                processes 
Max open files       
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值