如题,不知道是不是BUG,正常普通运行是100-600MB,不知道为什么用着用着就到了2000多,最高有2700MB,设置了保活时间短(测试过10秒),过了时间,进程占用还是这么多,得手动结束
这个情况在设置了重试时间时候尤为明显(即便我改为每2秒重试一次,占用还是会慢慢变大)
不知道是不是BUG呢?正常使用完OCR功能,应该就会自动减少才对的吧?不会一直保持高占用
以下信息供参考。
0)观测一下,在连续使用的情况下,内存占用是稳定到一个大小,还是会无限增大(比如超过10G的占用)。
1)确保使用的是1.2.1版本的QuckerOcrAgent。
2)修改保活时间后,需要关闭QuckerOcrAgent进程后,下次使用的时候生效。
3)保活时间检测最小分辨率为5秒。 设置时间是最小保活时间,实际会大于它一些,可以等空闲20秒之后观察进程是否有退出。
4)关于内存占用,这个程序是对百度paddle引擎的封装,具体paddle怎么使用内存,没有能力获知。 大概它会对一些信息做缓存。 另外如果是c#里,释放内存是由GC垃圾回收实现的,它没有一个确切的回收时间。
5)Quicker的OCR服务也是基于这个库长期运行的,内存占用在上升一段时间之后会保持稳定。
版本没问题,目前遇到最大也就3.5G左右吧,也比较大了,毕竟大部分人电脑内存不超16G
今天又试了几次发现能自动降低维持在300+mb,就是不知道要等多久才会降低没试出来
我也用工具看过了,基本都是NativeMemory,就是paddle引擎使用的内存。这部分也没有别的办法控制,只能等它自己释放了。