2颗2.1G双核CPU 4G内存 的数据库 从任务管理器看最大用到2.33G内存

caixrz 2008-02-15 02:13:24
从网上看了好多资料。在boot.ini 加了/3gb


运行了
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 3866
RECONFIGURE
GO

可还是不管用啊,数据库慢的要死。

数据库文件大概20G,有15张表的记录数超过了1千万了。有啥优化方案吗?
...全文
239 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
victorcai2006 2008-02-24
  • 打赏
  • 举报
回复
帮顶,问问老大
w2jc 2008-02-24
  • 打赏
  • 举报
回复
在不升级SAN的情况下,能减缓I/O瓶颈的最有效办法还是优化索引。
定期重建你的索引,比如每个月,每2周,或每1周,在系统维护期间重建索引。

定期重建索引对有I/O瓶颈的系统是必须的,如果有可能,还可以进一步优化建索引的方法。

你可以看一下% Disk Read Time 和% Disk Write Time,
以确定一下你大量的I/O操作里面是读的多,还是写的多,心里面有个底。

如果读的多,你的索引的填充因子可以设置到95%(默认都是90%),以更有效地使用索引。
如果写的多,填充因子可以设置到80%甚至更低,以减少索引分页的操作。

不过这需要多试几次,每个系统的I/O操作分布都不一样,只有多试验才能发现最优值。
w2jc 2008-02-24
  • 打赏
  • 举报
回复
Avg.Disk Queue Length 一直保持在50以上
但 Avg.Disk Queue Length 的平均值在120 左右
------------------------------------
你这个值太高了,是典型的I/O瓶颈的表现。大负载的应用中最容易出现的就是I/O瓶颈。
不知道你的DS400有几个物理硬盘,一般理想的情况下,分配到每个物理硬盘的值应该最大是2,
所以,如果你的DS400有6个硬盘的话,那么Avg.Disk Queue Length的值应该在12以下。

另外,建议你看一下 % Disk Time的值,如果这个值一直在50%以上,再加上你那么大的
Avg.Disk Queue Length,你的系统有I/O瓶颈是确定无疑的。
caixrz 2008-02-22
  • 打赏
  • 举报
回复
w2jc : 打了你说的补丁了,从任务管理器里看到内存已用3.31G 从性能中看到SQLserver 内存管理器中的目标服务器内存3036544 好像管用了。


但 Avg.Disk Queue Length 的平均值在120 左右
caixrz 2008-02-22
  • 打赏
  • 举报
回复
Sql 2000 pack4.

目前从性能中看:
Avg.Disk Queue Length 一直保持在50以上

盘阵式IBM DS400 RADI-5
号天大教主 2008-02-21
  • 打赏
  • 举报
回复
路过,学习。。。
keyanshang 2008-02-21
  • 打赏
  • 举报
回复
我也遇到了和lz同样的问题,现在问题的关键是如何让数据库把相应的内存都用起来。
w2jc 2008-02-16
  • 打赏
  • 举报
回复
sp_configure 'max server memory', 3866
RECONFIGURE
GO
--------------------------
另,这个值有点大了。应该给OS至少留500M的内存。
w2jc 2008-02-16
  • 打赏
  • 举报
回复
LZ的这些设置是正确的。

MSSQL虽然设置了最大内存并且可以使用3GB以上,但也不会滥用内存,只会在有必要的时候才会用更多内存。但从LZ的情况来看,瓶颈不是在内存,因为最多也就用到了2.33GB左右。

这种情况下,瓶颈多半是在I/O上面。建议先对数据库重建一下索引。这个对于大数据库很重要。如果更新很频繁的话,要定期重建索引。另外,硬盘本身的速度如何?

顺便说一下,如果LZ是用SQL 2000的话,打了SP4不要忘记再加一个Hotfix,要不数据库有出现完整性错误的危险。这是SP4在设置使用4GB内存之后的一个bug,要注意。
LutzMark 2008-02-15
  • 打赏
  • 举报
回复
和数据库版本有关吧
caixrz 2008-02-15
  • 打赏
  • 举报
回复
如何让数据库用到3G以上的内存啊。以前SQL进程最大只能到1.8G,按网上的资料优化后现在从任务管理器看 SQL进程只占80M的内存,而虚拟内存有2.33G。越来越小了。这是怎么回事啊?
昵称被占用了 2008-02-15
  • 打赏
  • 举报
回复
优化是个综合的工程,不可能三言两语说清楚

也许应该先从索引入手

需要了解库的一般应用和应用方法
dawugui 2008-02-15
  • 打赏
  • 举报
回复
数据库文件大概20G,有15张表的记录数超过了1千万了。有啥优化方案吗?

这么大数据量能正常运行就不错了.

换用oracle,对表进行相关的分析后速度很快.
free1879 2008-02-15
  • 打赏
  • 举报
回复
找邹老大

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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