【首发百度贴吧】一款TCP流量监控插件以及进程占用示例皮肤
先上皮肤效果:表头分别是进程名、CPU、RAM、GPU、IO、TCP流量、得分
表头可点击,切换显示CPU占用、RAM占用、GPU占用、IO占用、TCP网络占用和总分的 TOP 8。
得分计算为1CPU、GPU记1分,RAM按百分比计算分数,IO每1MB/s算1分,NET每1MB/s算10分。
皮肤原理:
1、进程CPU、RAM、GPU、IO资源占用都是通过rainmeter自带的UsageMonitor插件获取。
2、进程的TCP链接流量,通过UsageMonitor插件似乎没有找到相关的监控项,因此作者自写插件获取,原理是通过win32 api的GetPerTcpConnectionEStats接口。
3、先获取CPU、RAM、GPU、IO、TCP的TOP10进程,再按照进程名整合为TOP 8的资源消耗。
4、如果表格中数据为空,表明该进程可能为内存前10,但不是CPU前10,因此CPU格没数据。
5、可以通过点击切换表头,查看各资源占用TOP的进程。
-----------------------------------------------------------------------------------------------------------------------------
自写的TCP流量插件:TCP监控插件,监控详细进程TCP链接的流量。用法可详见皮肤设置。
说明:
1、网络流量基本等同于TCP流量+UDP流量之和。win32 api开放查询TCP链接统计信息api,但没查到有UDP链接的流量信息api,因此该插件只统计进程的TCP流量。UDP流量应该可以通过winpcap等网络嗅探器去获取,但该操作相当于开启了网络抓包,可能会带来性能上的问题,因此我没有做,后续可能会加这个接口。(如有错误,请跟帖指出,我会看的)
2、网页及一般app基本都是用TCP链接,迅雷等P2P下载会用大量UDP链接+少量TCP链接,因此统计迅雷等下载软件的流量时不准。
3、插件的调用需要以管理员运行rainmeter,可以通过计划任务设置开机启动权限。
4、皮肤及插件的源代码地址见2楼。
先上皮肤效果:表头分别是进程名、CPU、RAM、GPU、IO、TCP流量、得分
表头可点击,切换显示CPU占用、RAM占用、GPU占用、IO占用、TCP网络占用和总分的 TOP 8。
得分计算为1CPU、GPU记1分,RAM按百分比计算分数,IO每1MB/s算1分,NET每1MB/s算10分。
皮肤原理:
1、进程CPU、RAM、GPU、IO资源占用都是通过rainmeter自带的UsageMonitor插件获取。
2、进程的TCP链接流量,通过UsageMonitor插件似乎没有找到相关的监控项,因此作者自写插件获取,原理是通过win32 api的GetPerTcpConnectionEStats接口。
3、先获取CPU、RAM、GPU、IO、TCP的TOP10进程,再按照进程名整合为TOP 8的资源消耗。
4、如果表格中数据为空,表明该进程可能为内存前10,但不是CPU前10,因此CPU格没数据。
5、可以通过点击切换表头,查看各资源占用TOP的进程。
-----------------------------------------------------------------------------------------------------------------------------
自写的TCP流量插件:TCP监控插件,监控详细进程TCP链接的流量。用法可详见皮肤设置。
说明:
1、网络流量基本等同于TCP流量+UDP流量之和。win32 api开放查询TCP链接统计信息api,但没查到有UDP链接的流量信息api,因此该插件只统计进程的TCP流量。UDP流量应该可以通过winpcap等网络嗅探器去获取,但该操作相当于开启了网络抓包,可能会带来性能上的问题,因此我没有做,后续可能会加这个接口。(如有错误,请跟帖指出,我会看的)
2、网页及一般app基本都是用TCP链接,迅雷等P2P下载会用大量UDP链接+少量TCP链接,因此统计迅雷等下载软件的流量时不准。
3、插件的调用需要以管理员运行rainmeter,可以通过计划任务设置开机启动权限。
4、皮肤及插件的源代码地址见2楼。