解决方案 »

  1.   

    找个工具查查是什么东西耗cpu最多呗..
      

  2.   

    tomcat的datasource我从网上查多数都数1000个连接是最优的,难道是这块连接数太大了吗?
    并发的话,基本上3秒内,会有100KB的数据量。
      

  3.   

    oracle本身启动起来就挺占CPU的,还那么多连接,受得了吗?再也许,你电脑配置太低了
      

  4.   

    连接池最大个数,一般是 CPU数的 3,到4倍。  你整这么多干嘛呢?
      

  5.   

    您指的cpu数是什么?能具体点吗?谢谢
    因为每次与数据库交互100KB左右数据,而且要求很快返回,所以就把连接加到了1000,
    网上写的好像都是1000,是最好的效果。
      

  6.   

    您是说比如cpu是4核的:那就是4核 X 8(固定参数)=32个链接吗?
      

  7.   

    你的WebService并发数有多少,或者说需要做到多少,然后后在根据这个来考虑你的连接数,不是说网上说多少就多少的,要根据具体引用需求的
      

  8.   

    jmap -histo pid查看一下进程具体类消耗资源情况
      

  9.   

    cpu占用是计算导致的,ls们说的资源未释放的情况与此无关,一个未释放且未使用的资源只占内存和硬盘。
    过多线程争抢资源也会导致cpu额外占用,如ls说cpu核数和线程数的比例应该设置合理。
    如果只是jvm占cpu,那就与数据库无关,也就与数据交互无关。
    更可能的原因是大并发web请求、大吞吐量的上传下载(或缓存设置不合理)导致的这个原因,建议统计一下web请求,并控制一下上传下载。
      

  10.   

    如何统计web请求呢?有什么工具吗?
      

  11.   

    可以通过tomcat实例逐层找到所有有效的Session数,这就是同时在线人数。
    如果想更精确,http://www.docin.com/p-114417565.html 这里有Linux下看80端口请求数的方法。