我的系统有两个线程,一个线程从串口收集数据并保存到后台数据库
另一个线程是刷新获取的数据(从后台数据库)
问题:CPU占用率比较高,SQL SERVER实例占用的内存不停的往上涨

解决方案 »

  1.   

    >>一个线程从串口收集数据并保存到后台数据库
    另一个线程是刷新获取的数据(从后台数据库)从串口收集数据的线程,直接发给 刷新获取的数据的线程,不好吗?或者建第三个线程,从串口收集数据的线程 收到数据后,发给 中间处理的,它负责保存到数据库,并判断是否需要刷新,如果需要,再通知 刷新获取的数据的线程 去取数据不过,串口通信的,一般用本地数据库,特别是 paradox, 性能比较好, 隔一个时间段,再统一发到后台的sql server 之类,这样合理点
      

  2.   

    你先确认一下是哪个线程的cpu占用率高。
    串口采用的什么方式,是轮询还是时间机制。
      

  3.   

    "SQL SERVER实例占用的内存不停的往上涨"
    这个东西对于sql  来说,如果你不限制它 windows总是最大限度的分配系统资源给SQL,这就是
    你的SQL 不停增大内存的原因。
    不过,你可以在sql server 那里,重新设置他可以使用的内存就可以了,,它就不再继续占用新
    内存了
      

  4.   

    顶,我也想知道,我也遇到这样的问题,我想把数据保存在SQL中,远程电脑再时时到SQL中取数据,我的主要是监控用的,所以要能及时反映!