SystemResourceMonitor
一个Python3程序,可以监视系统内各个或者某个进程的资源占用,帮助你找出问题,揪出高占用或者自动启动的进程
Install / Use
/learn @ZhengqiaoWang/SystemResourceMonitorREADME
SystemResourceMonitor 系统进程监视器
简介
可以利用这个Python3程序做到:
- 抓出有哪些进程在偷偷摸摸运行
- 哪些进程在你不用的时候突然占用大量资源
- 监听系统进程资源占用情况
- 关注指定程序的资源变动情况
理论上该程序跨平台,我在编码的时候也尽力使用兼容性更强的代码,所以即便出现了兼容性问题也应该很容易定位和解决。
如何使用
下载程序
git clone --recursive git@github.com:ZhengqiaoWang/SystemResourceMonitor.git
环境准备
首先,你需要保证你可以运行Python3,如果没有安装Python3请移步Python官方网站下载安装Python3和对应的Pip。
然后可以使用
pip install -r requirements.txt
安装程序所依赖的几个第三方动态库。
待安装完成,则一切就绪。
使用程序
我们可以使用
python start.py -h
来显示帮助:
$ python start.py -h
usage: start.py [-h] [-o OUTPUT] [-i INTERVAL] [-f [FILTER ...]]
optional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
输出位置
-i INTERVAL, --interval INTERVAL
监听时间间隔(毫秒)
-f [FILTER ...], --filter [FILTER ...]
限制监听范围,为进程名(如explorer.exe)
监听所有的进程
一般默认情况下,程序会监听当前运行的所有进程,你只需要:
python start.py
即可运行程序。当你使用Ctrl+c退出程序时,程序会自动汇总监听到的数据,并输出在当前目录下的output文件夹下。
监听指定的进程
如果你希望只监听某些进程,你完全可以使用-f或者--filter来指定进程名,就比如这样
python start.py -f notepad.exe Taskmgr.exe
它会只监听记事本和任务管理器两个进程,你不必担心它们此时有没有启动,当它们启动和退出时,程序会忠诚地记录最早启动时间和最晚退出时间。
修改监听频率
默认程序按照5秒一次的频率刷新监听,如果你的统计跨度很长,那么有必要使用-i或者--interval来指定监听间隔,单位是milliseconds,即1/1000秒。
python start.py -f notepad.exe Taskmgr.exe -i 1000
如此你就可以从更高或更低频次的监听中找出更多细节。
切换输出位置
你可以通过-o或--output来指定输出路径,需要注意的是,程序启动时会删除该路径下所有文件,等待程序结束后再生成新的记录文件。因此请注意路径的正确性。
查看结果
默认情况下会在当前目录的output目录下生成结果,里面主要有两项:summury.txt文件和process文件夹。前者主要记录了一些宏观统计信息。后者则包含了众多被监听的进程数据。数据以html的形式提供,每个文件名均为进程名.html格式,每个网页内包含了三张图表,可自行查看。
如何贡献
你可以提交Issue或者Fork+PR的方式提出你的想法和修改,我会不定期的查看并作出修改。当然,你也可以完全根据项目所属协议进行合法操作。
