cpu占用100%,怎么办?

wanglinli071 2005-03-15 09:18:11
我用TOMCAT 作服务器,MYSQL数据库,JDK作JAVA运行环境.
用JSP作的网页,MYSQL是装在LINIX下的,TOMCAT 装在WINDOWS下,现在有个问题就是运行程序的时候,MYSQWL数据库占用CPU 从一开始的一点到100%,会是什么原因引起的?请帮忙分析一下原因.多少分都可以.
...全文
132 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rower203 2005-03-15
  • 打赏
  • 举报
回复
是不是病毒?
cxz7531 2005-03-15
  • 打赏
  • 举报
回复
数据库查询运算太大的原因吧,优化算法解决问题。还有就是,设置内存
以下是一些优化mysql数据库的办法
1:如果你在一个数据库中创建大量的表,那么执行打开,关闭,创建(表)的操作就会很慢.
2:mysql使用内存
a: 关键字缓存区(key_buffer_size)由所有线程共享
b: 每个连接使用一些特定的线程空间.一个栈(默认为64k,变量thread_stack),一个连接缓冲区(变量net_buffer_length)和一个结果缓冲区(net_buffer_length).特定情况下,连接缓冲区和结果缓冲区被动态扩大到max_allowed_packet.
c:所有线程共享一个基存储器
d:没有内存影射
e:每个做顺序扫描的请求分配一个读缓冲区(record_buffer)
f:所有联结均有一遍完成并且大多数联结甚至可以不用一个临时表完成.最临时的表是基于内存的(heap)表
g:排序请求分配一个排序缓冲区和2个临时表
h:所有语法分析和计算都在一个本地存储器完成
i:每个索引文件只被打开一次,并且数据文件为每个并发运行的线程打开一次
j:对每个blob列的表,一个缓冲区动态的被扩大以便读入blob值
k:所有正在使用的表的表处理器被保存在一个缓冲器中并且作为一个fifo管理.
l:一个mysqladmin flush-tables命令关闭所有不在使用的表并且在当前执行的线程结束时标记所有在使用的表准备关闭
vitamines 2005-03-15
  • 打赏
  • 举报
回复
要看看什么程序了

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧