公司的一台服务器上跑数据库,客户端链接数在200多,没做PM维护之前,cpu在30%到50%,还算正常。PM动作:该服务器是群集服务中的一个,PM的时候对另一个群集节点重装了系统,在该服务器上做了索引重建,扩展分区,删除了一些历史数据。
服务器的配置4个2.4的cpu,16G内存,数据库主数据文件200G左右PM后的现状:
该服务器的cpu在90%以上,间断也会出现20%,可是只是暂时的,随后还是在90%,连接数还和原来一样,客户端也没有反应慢的情形,所有的服务都正常运行。请问这是怎么回事?怎么解决?
服务器的配置4个2.4的cpu,16G内存,数据库主数据文件200G左右PM后的现状:
该服务器的cpu在90%以上,间断也会出现20%,可是只是暂时的,随后还是在90%,连接数还和原来一样,客户端也没有反应慢的情形,所有的服务都正常运行。请问这是怎么回事?怎么解决?
另外看一下性能计数器,看下io队列情况。
排错的方法不是直观的判断
而是追踪数据,检查究竟是什么线程一直占用cpu的,然后对比之前的log
我的意思是看看是自己的哪个程序占用的CPU比较多,优化下SQL试试。呵呵。。
2.你说的都有用的进程是spid>51的有用进程吗?
今天有发现个问题,在用sql自带性能跟踪软件的时候,cpu居然刷的一下降下来了,停止跟踪,cpu又恢复到原来那么高了,这是怎么回事啊?真是摸不清了!sql profiler跟踪下来的sql基本上全部正常的,搞不懂了!SQL里面是否也有什么参数设置啊?我看资料oracle里面有好多参数设置,是否做了设置参数造成的?
灵异事件?多跟踪几次吧,找出CPU开销较大的事务,这是最直接的方法了。