导航:首页 > IDC知识 > 数据库服务器内存

数据库服务器内存

发布时间:2020-11-15 20:47:31

1、sql数据库服务器,内存占用过大怎么办

Sql Server系统内存管理在没有配置内存最大值,很多时候我们会发现运行Sql Server的系统内存往往居高不下。这是由于他对于内存使用的策略是有多少闲置的内存就占用多少,直到内存使用虑达到系统峰值时(预留内存根据系统默认预留使用为准,至少4M),才会清除一些缓存释放少量的内存为新的缓存腾出空间。

这些内存一般都是Sql Server运行时候用作缓存的,例如你运行一个select语句, 执行个存储过程,调用函数;

1. 数据缓存:执行个查询语句,Sql Server会将相关的数据页(Sql Server操作的数据都是以页为单位的)加载到内存中来, 下一次如果再次请求此页的数据的时候,就无需读取磁盘了,大大提高了速度。

2.执行命令缓存:在执行存储过程,自定函数时,Sql Server需要先二进制编译再运行,编译后的结果也会缓存起来, 再次调用时就无需再次编译。

在我们执行完相应的查询语句,或存储过程,如果我们不在需要这些缓存,我可以将它清除,DBCC管理命令缓存清除如下:

--清除存储过程缓存   
DBCC FREEPROCCACHE   
--注:方便记住关键字FREEPROCCACHE 可以拆解成FREE(割舍,清除) PROC(存储过程关键字简写),CACHE(缓存)
--清除会话缓存
DBCC FREESESSIONCACHE    
--注:FREE(割舍,清除) SESSION(会话)CACHE(缓存) 
--清除系统缓存  
DBCC FREESYSTEMCACHE('All')  
--注:FREE  SYSTE MCACHE 
--清除所有缓存  
DBCC DROPCLEANBUFFERS   
--注:DROP CLEAN BUFFERS

2、如何设置SQLServer数据库内存

1、打开SQL Sever 2008 R2数据库

2、在打开的连接到服务器对话框中,输入相关连接信息后,点击“连接”

3、右键数据库根节点,选择“属性”

4、弹出服务器属性页,选择页中包含常规、内存、处理器等选项

5、在选择页中我们点击“内存”,我们可以修改每次查询占用的最小内存值

6、在选择页中切换到“安全性”,我们可以重新设置服务器身份验证的模式

3、服务器的内存主要起什么作用?

服务器内存也是内存,它与普通PC机内存在外观和结构上没有什么明显实质性的区别,主要是在内存上引入了一些新的特有的技术,如ECC、ChipKill、热插拔技术等,具有极高的稳定性和纠错性能。

服务器内存和PC机内存一样,内存的频率可以用工作频率和等效频率两种方式表示,工作频率是内存颗粒实际的工作频率,但是由于DDR内存可以在脉冲的上升和下降沿都传输数据,因此传输数据的等效频率是工作频率的两倍。

而DDR2内存每个时钟能够以四倍于工作频率的速度读/写数据,因此传输数据的等效频率是工作频率的四倍。


(3)数据库服务器内存扩展资料:

服务器常用的内存主要有三种

1、ECC 内存,“Error Checking and Correcting”的简写,中文名称是“错误检查和纠正”。

2、Reg-DIMM 带寄存器Register芯片和unbuffered ECC不带缓存。

带有Register的内存一定带Buffer(缓冲),并且能见到的Register内存也都具有ECC功能,其主要应用在中高端服务器及图形工作站上。

3、FB-DIMM(Fully Buffered DIMM),全缓冲内存模组内存。

FB-DIMM另一特点是增加了一块称为“Advanced Memory Buffer,简称AMB”的缓冲芯片。这款AMB芯片是集数据传输控制、并—串数据互换和芯片而FB-DIMM实行串行通讯呈多路并行主要靠AMB芯片来实现。

4、mysql数据库服务器一般多少内存

命令: show processlist;
如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。

show processlist;只列出前100条,如果想全列出请使用show full processlist;
mysql> show
processlist;
命令: show status;
命令:show status like '%下面变量%';

Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects
尝试已经失败的MySQL服务器的连接的次数。
Connections 试图连接MySQL服务器的次数。
Created_tmp_tables
当执行语句时,已经被创造了的隐含临时表的数量。
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。

Delayed_writes 用INSERT DELAYED写入的行数。
Delayed_errors 用INSERT
DELAYED写入的发生某些错误(可能重复键值)的行数。
Flush_commands 执行FLUSH命令的次数。
Handler_delete
请求从一张表中删除行的次数。
Handler_read_first 请求读入表中第一行的次数。
Handler_read_key
请求数字基于键读行。
Handler_read_next 请求读入基于一个键的一行的次数。
Handler_read_rnd
请求读入基于一个固定位置的一行的次数。
Handler_update 请求更新表中一行的次数。
Handler_write
请求向表中插入一行的次数。
Key_blocks_used 用于关键字缓存的块的数量。
Key_read_requests
请求从缓存读入一个键值的次数。
Key_reads 从磁盘物理读入一个键值的次数。
Key_write_requests
请求将一个关键字块写入缓存次数。
Key_writes 将一个键值块物理写入磁盘的次数。
Max_used_connections
同时使用的连接的最大数目。
Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。

Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。
Open_tables 打开表的数量。

Open_files 打开文件的数量。
Open_streams 打开流的数量(主要用于日志记载)
Opened_tables
已经打开的表的数量。
Questions 发往服务器的查询的数量。
Slow_queries
要花超过long_query_time时间的查询数量。
Threads_connected 当前打开的连接的数量。

Threads_running 不在睡眠的线程数量。
Uptime 服务器工作了多少秒

5、请解释为什么oracle数据库服务器的物理内存会被耗尽

虽然报内存不足的错,但不一定是你的机器本身的内存不足造成的,而只是你内在容安装oracle的时候可能还在运行其他程序,从而导致内存不足的。你可以把其他比较吃内存的程序关掉,然后再试一下。或者系统重启以后再安装一次试一下。如果都不行的话,可能真是你的机器配置太低了。不过一般1~2G基本就可以了。

6、如果一台服务器只用于数据库服务,内存分配多少

只是向 DBMS 添加空间类型和对空间属性的 SQL 支持并不足以支持 GIS。ArcGIS 采用多层应用程专序架构,在属地理数据库存储模型之上的应用程序层执行高级逻辑和行为。
该应用程序逻辑支持一系列通用地理信息系统 (GIS) 数据对象和行为,如要素类、栅格数据集、拓扑、网络以及更多。

7、数据库内存是个什么意思啊?和服务器内存有什么关联吗

数据库的内存用的就是服务器的内存
区别在于建数据库的时候,db的内存的大小是划好的
以oracle为例,
redo,undo,share,sga,pga等存储空间都属于内存范畴
总的大小是小于server的内存的

8、怎么设置sql2008数据库最大服务器内存

1、1.选择“开始 > 所有程序 > Microsoft SQL Server 2008 R2 > SQL Server Management Studio”。系统显示“连接到服务器”界面。
2、2.输入各项数据,单击连接
3、3.系统显示“对象资源管理器”界面
4、4.上图单击右键,在弹出的快捷菜单中选择“属性”。
5、5.在左侧导航栏中选择“内存”,将右侧“最大服务器内存”的值设置为物理内存的60%,本例以8G内存为例
6、6.最后单击确定,设置完成

9、sql server 在占用服务器内存居高不下怎么办

经常使用MSSQL的朋友都会发现一个小小的网站在运行若干天后MSSQL就会把服务器上所有的内存都吃光,此时你不得不重新启动一下服务器或mssql来释放内存,有人认为是 MSSQL有内存泄露问题,其实不然,微软给我们了明确说明:在您启动SQL Server 之后,SQL Server内存使用量将会持续稳定上升,即使当服务器上活动很少时也不会下降。另外,任务管理器和性能监视器将显示计算机上可用的物理内存稳定下降,直到可用内存降到 4 至 10 MB 为止。

仅仅出现这种状态不表示内存泄漏。此行为是正常的,并且是 SQL Server 缓冲池的预期行为。
默认情况下,SQL Server 根据操作系统报告的物理内存加载动态增大和收缩其缓冲池(缓存)的大小。只要有足够的内存可用于防止内存页面交换(在 4 至 10 MB 之间),SQL Server缓冲池就会继续增大。像在与SQL Server 分配内存位于相同计算机上的其他进程一样,SQL Server 缓冲区管理器将在需要的时候释放内存。SQL Server每秒可以释放和获取几兆字节的内存,从而使它可以快速适应内存分配变化。
更多信息
您可以通过服务器内存最小值和服务器内存最大值配置选项设置 SQL Server数据库引擎使用的内存(缓冲池)量的上下限。在设置服务器内存最小值和服务器内存最大值选项之前,请查阅以下 Microsoft 知识库文章中标题为'内存'一节中的参考信息:319942 HOW TO:Determine Proper sql server(WINDOWS平台上强大的数据库平台) Configuration Settings(确定正确的 sql server(WINDOWS平台上强大的数据库平台) 配置设置)
请注意,服务器内存最大值选项只限制 SQL Server 缓冲池的大小。服务器内存最大值选项不限制剩余的未保留内存区域,sql server(WINDOWS平台上强大的数据库平台) 准备将该区域分配给其他组件,例如扩展存储过程、COM 对象、以及非共享 DLL、EXE 和 MAPI 组件。由于前面的分配SQL Server专用字节超过服务器内存最大值配置是很正常的。有关此未保留内存区域中分配的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:316749 PRB:在使用大量数据库时可能没有足够的虚拟内存

下面我们就来实战如何限制MSSQL内存使用:
第一步:打开企业管理器双击进入要修改的MSSQL.
第二步:在左侧MSSQL上点击右键,选择属性,弹出SQL Server属性(配置)对话框(最好打上SQL SP4补丁)
第三步:点击内存选项卡. 在这里,你会看到MSSQL默认设置为使用最大内存,也就是你所有的内存,根据你的需要,设置它的最大值(一般为物理内存-128M)和最小值(一般为最大内存的1/4)吧.
第五步:设置完毕,重启MSSQL服务,配置即可生效!

10、数据库服务器内存是32G的,内存占用始终高达96%,实际看进程中最多也就占用20%,怎么回事?

我的电脑”→属性→高级→性能→设置→高级→虚拟内存→更改→选择虚拟内存(页版面文件)权存放的分区→自定义大小→确定最大值和最小值→设置成物理内存的1.5--3倍最佳。这是我网上求教来的处理方法,你的CPU使用率这么低,按理来说绝对是正常的。不放心的话,把系统日志调出来看下吧。另外说一句,不影响使用,是没有问题的。

与数据库服务器内存相关的知识