内存

百燕之家 / 信息详情

DocMem测试内存软件怎么用

借助一些内存测试程序,比如PC-Doctor,Docmem等对内存的稳定性进行检测。如果你没有这样的程序,可以在开机时看看BIOS是否认到这些新加的内存,如果有,则进入操作系统运行很占内存的大型程序操作(例如使用Photoshop开启巨幅图片等),同时观察任务管理器中指示的物理内存占用量,如果物理内存占用到80%以上而且依旧能保持稳定的运行,可以说这根内存就基本上没有问题。 内存优化工具--ram idle 下载 RAM Idle Pro V3.6 汉化版 RAMIdle 可以让您的内存更有效率的使用,让您的电脑用到更多的内存空间,它会确认正在执行的软件是否快速的载入内存中,并且会检查您所设定的内存下限,当内存使用程度到达下限时,会自动处理非必要的软件占用,让内存尽量保持在安全使用的范围内。 内存优化软件--SuperRam 一款不错的内存优化软件 建议大家下载试用 内存管理软件,操作起来较简单,可以手动/自动释放内存,您只需设定「最低可用内存」及「每次释放内存容量」即可RightMark近日推出了一款新的内存检测工具:RAMTester(beta版),可以利用虚拟地址检测32/64位Windows环境下内存的可靠性。 在测试过程中,软件会在内存里写入各种不同的位组合格式(bit pattern),然后读取,以此比较内存性能。 不过这样的测试只是一种定性分析。如果要获得更多的定量分析信息,需要在运行软件的DOS模式版本,利用真实地址进行测试。 该软件只针对空闲物理内存进行测试,因此可以设定任意测试量。(要得到空闲物理内存量,可以使用Windows任务管理器,在“性能”选项卡中查看“物理内存”栏目内的“可用数”。) 程序支持多路SMP和超线程技术,同时支持SDRAM、DDRAM、RADRAM等多种类型的内存。

怎样使用老毛桃U盘内存检测工具

你好,1、将制作好的u盘插入到电脑的usb插口处,重启电脑后当看到开机画面时连续按下相应的启动快捷键进入到u启动的主菜单界面后选择“【08】运行硬盘内存检测扫描工具菜单”后按回车键确认;2、接着出现的菜单界面中将光标移至“【04】运行Memtest4.20内存检测”后按下回车键确认即可;3、当我们按下回车键打开这个工具时它便会自动开始进行内存检测,检测的时间大约会在2小时左右,请耐心等待。

如何检测内存是否有坏区.?

内存没有坏区,如损坏,就是内存颗粒,内存的稳定性对整机的稳定性有很大影响。设置bios 有一项QUICK POWER ON SELF TEST(快速开机自我检测),选择不使用,保存退出。开机自检内存三遍,如有问题,会进不去的。这有问题就可以说内存问题大了。自己维修内存得有专用的设备,还得刷spd。

怎样看电脑内存

最近,有很多小伙伴私信我,说自己家的电脑时间太长了,内存不够用了,想买内存条自己换上,可是不知道该买什么样的内存条,不同频率的内存条是不是能够兼容呢?今天咱们带着这个问题一起去讨论一下吧!第一个问题:内存条怎么看?查看电脑内存其实方法很多也非常简单,相信大家一次看一遍就能学会了!第一种方法:我们只需要鼠标右键点“计算机”图标,选择--属性 选项中就可以看到电脑内存信息了。如下图:计算机内存信息我们可以看到学叔的电脑的内存是6G的,但是频率我们是看不到啊?那么怎么办呢?第二种方法:通过第三方软件查看我们可以下载鲁大师、360、金山毒霸、电脑管家、驱动精灵等进行查看,学叔的建议是,能不使用第三方软件就尽量别用!下面我们以鲁大师为例内存大小内存信息我们可以看到两根内存条的频率都是1333Mhz,内存大小分别为2G和4G,品牌分别为海力士和南亚易胜,这个看起来就比较全面了!第三种方法:使用电脑自带的硬件查看工具查看,我们可以在开始菜单——运行——输入dxdiag,点击确定查看,如下图:运行dxdiagDirectx诊断工具我们只可以看到内存大小是6g,内存频率确实看不到。第四种方法:在Dos命令下查看,内存信息。开始——运行——输入cmd——输入命令systeminfo并回车Dos命令行DOS命令用DOS命令也可以看到内存信息,但是没有看到内存频率,其实也可以看到的。第五种方法是:打开电脑查看内存标签,但是这种方法真的是特别不可靠,学叔手里有三条内存条,却只有一条标注了内存大小和频率,其实这种方法还是不可取的!内存条第二个问题:不同频率的内存条可以混用吗?答案是:可以混用。我可以给你这样讲一下,你的电脑主板支持1333/1600Mhz的DDR3 内存,那么你的电脑就可以同时插上1333和1600Mhz的3代内存条,只不过你的1600Mhz的内存条频率会降到1333Mhz,这就是说的短板效应!另外一个要讲的就是,当内存大小大于等于4g时,必须要安装64位操作系统,不然32位操作系统不能完全使用所有内存!谨记。

windows内存诊断工具一般监测几次

2次。Windows系统中,内存诊断工具对所选择的项目内容执行2次监测,也可以手动修改这个测试轮回的次数,范围是最大99次,PASS一次即可诊断出明显的内存故障。在Windows系统下自动检测内存的工具。

Win10系统检测内存好坏的方法

内存是电脑中重要的部件之一,如果内存出现问题的话,就会导致系统错误、电脑运行不稳定等,所以很多用户都会怀疑自己的电脑内存是否有问题,那么在win10系统中,我们可以使用自带的内存检测工具来检测内存,现在给大家分享一下Win10系统检测内存好坏的方法吧。1、在任务栏cortana搜索框中输入“管理工具”,打开;2、在左侧找到“Windows内存诊断”,双击打开;3、打开内存诊断工具后点击“立即重新启动并检查问题”,重启电脑后就会进入自动检测阶段。重启计算机后,分别有第一阶段和第二阶段,若显示的是“尚未检测到问题”,就说明内存目前工作状态是正常的。一般情况下新内存很少会出现问题,而电脑旧了之后,内存金手指氧化,内存芯片、颗粒老化会导致内存出现问题,所以如果检测到内存有问题,大家可以打开机箱清理灰尘后重新安装内存条试试。以上就是关于Win10系统检测内存好坏的方法,大家可以参照上面的方法步骤来对内存进行检测!

内存条检测软件

1、下载软件2、几下内存3、解压软件4、测试5、内存条1.下载测试软件,右键选择解压文件,解压后得到两个文件夹,里面分别是两个软件。52.接着按图一的ctrl+shift+esc,在任务管理器点击性能,在内存这里记下空余内存,记录个整数例如4000。3.进入解压软件后的第一个文件夹点击立即的软件,启动测试软件后在里面输入数字2000点击开始测试。4.紧接着同样的方法进入第二个目录打开第二个测试软件,输入同样的数值点击开始测试。5.慢慢等待它测试完毕一般是20分钟左右,看到软件底部的错误为0证明是好的内存条,反之有错误,那么内存条则属于劣质品。或者说内存条不稳定容易蓝屏。

查看win7系统内存条频率的操作方法

最近很多网友询问说怎么查看win7电脑内存条频率?可能大部分用户对内存条频率不是很清楚,内存主频和CPU主频一样,代表内存工作时候所达到的最高工作频率。如果你要自定义组装电脑,那么必须得熟知电脑硬件的基础知识,那么查看内存频率是必须查看的,接下去小编和大家详细介绍一下内存条频率和查看方法。什么是内存条频率?内存主频和CPU主频一样,都是用来表示速度的快慢,然频率越高的内存速度速度也越快。这就和汽车发动机的马力一样,但是在电脑中,性能不单单只是由频率这一项参数决定,所以频率仅限相同的产品,同一代进行横向对比。看内存条频率的方法:方法一:通过CMD命令1、同时按下键盘快捷键Win+R,打开运行窗口输入CMD确定。2、输入wmicmemorychip回车确定一会就出现内存的相关参数,红色框框的就是内存频率1600,一般在型号的后面的数字。方法二:内存检测工具首先需要下载一个工具CPU-Z中文版,百度搜索下载,然后双击打开选择“内存”选项卡,下方就可以看到内存详细的参数。红色框框内存的频率是799.9MHz,由于是双通道的,刚好是1600。方法三、通过鲁大师检测:1、打开电脑,如图所示,在“我的电脑”图标上点击鼠标右键,在弹出的菜单里点击“属性”。2、在弹出的“系统属性”对话框里,第一项标签“常规”中,就显示了电脑的主要系统信息,如图所示,红色方框里写的“3.29GHz,3.96GB的内存”就是内存条的频率和容量。3、如果想看看内存的详细情况,就需要专业一点的软件了。我推荐用360旗下的“鲁大师”,可以看到很多详细的电脑硬件情况。4、可以先运行“360安全卫士”,如图所示,点击上部的“功能大全”。5、在弹出的功能列表中,就有“鲁大师”,如图所示,鼠标放到图标上就会显示“添加”,点击后,会自动弹出鲁大师的页面。6、点击鲁大师的页面上部第二项“硬件检测”,如图所示,就会出现电脑整体的硬件信息,中间显示了主要硬件的品牌和型号。7、点击左侧的“内存信息”,便会详细的显示安装了几个内存条,以及内存条的品牌、型号和生产日期等。如图中所示,1333MHz就是单条内存的主频率。以上就是查看win7系统内存条频率的操作方法,大家可以选择其中一种方法进行查阅,希望此教程对大家有所帮助。

如何用Windows内存诊断工具检测电脑内存是否正

AIDA64不仅是Windows系统电脑硬件信息查看软件,同时还具备着各项性能测试功能,如磁盘测试、GPU测试和内存缓存测试,通过测试结果可以得知当前计算机的具体性能和瓶颈,是大多数专业计算机运维人员不可多得的优秀软件。在下面的教程中,小编将使用Windows 10系统和AIDA64 Extreme版本,讲解如何用它来进行计算机的内存缓存测试,以及测试结果解析。首先:打开AIDA64软件,细心的大家在左侧功能菜单的最下方可以发现一个“性能测试”的功能,这个功能可以进行各式各样的测试,功能十分强大,但是本节中大家需要的内存缓存测试并不是在这里打开,那么该如何打开呢?点击AIDA64上方的“工具”菜单栏,然后就可以发现“内存与缓存测试”的菜单,如下图1,点击它即可进入内存缓存测试界面。图1:内存与缓存测试入口具体的测试页面如下图2,该功能可以测试计算机内存和CPU内缓存的读、写和复制性能;最后一栏是延迟(Latency),一般来说,3200MHz内存延迟在70到80ns之间,延迟过高的话,会对电脑帧数产生不良影响,这也是打游戏时卡顿的原因。图2:测试界面点击上图2的“Start Benchmark”按钮,可以开始跑分测试,点击“Close”可以关闭测试,点击“Save”时可以保存测试的图片结果,在测试的过程中电脑可能会卡顿,大家需要耐心等待,下图3是小编计算机的跑分结果。图3:测试结果展示测试结果可以直观查看到内存、一级缓存、二级缓存、三级缓存的读写速度和复制速度,由读写速度基本上就可以看出当前计算机的性能了(读写、复制速度越大越好、延迟ns越小越好)。除此之外还能看到CPU的类型、内存频率、BIOS的版本等信息。下图4是具体内存缓存测试中每一项的作用注释,大家可以右键保存图片以便后期查看。图4:各项指标注释好了,本篇关于使用AIDA64软件进行计算机内存缓存测试的教程就到此为止了,更多关于AIDA64的使用技巧,大家可以到AIDA64中文网站上查询了解哦!

如何使用u启动memtest工具检测物理内存

1、制作一个u启动u盘,然后把制作好的u启动u盘插在电脑的usb接口上,接着重启电脑,在出现开机画面时用一键u盘启动快捷键的方法进入u启动主菜单界面,并选择【02】运行u启动win03pe增强版(老机器),按回车键确认选择2、进入到u启动win03pe桌面后,依次点击“开始——程序——硬件检测——memtest内存诊断”打开工具,3、随即会弹出一个欢迎使用memtest工具的窗口,点击“确定”按钮继续操作即可,4、在memtest工具主窗口中,点击“开始检测”按钮,5、此时会弹出一个提示窗口,我们可以看到下图中的红色下划线提示我们设置检测内存的大小,不同的型号内存大小设置不同,建议参考工具的提示大小即可,点击“确定”按钮,继续操作即可,6、接着我们按照建议输入相应的内存大小,再点击“开始检测”按钮,7、然后会弹出首次使用提示信息窗口,点击“确定”按钮即可,8、最后等待memtest内存检测即可,

安卓上什么软件可以实时查看cpu和运行内存使用情况?

您好,关于您提出的问题,我为您搜索了一些相关的信息,希望能对您有所帮助。U0001f60a根据我的搜索结果,安卓上有一些软件可以实时查看cpu和运行内存使用情况,例如:- **CPU-Z**:这是一个免费的应用,可以显示设备的详细信息,包括cpu型号、核心数、频率、温度、负载等,以及内存大小、使用率、可用空间等- **DevCheck**:这是一个类似于CPU-Z的应用,也可以显示设备的各种信息,包括cpu和gpu的频率、温度、负载等,以及内存和存储空间的使用情况等。- **PerfMon+**:这是一个可以在后台实时监控cpu和内存使用情况的应用,可以在屏幕上显示一个悬浮窗口,方便在玩游戏或运行其他应用时查看性能数据。以上就是我为您整理的一些关于安卓上查看cpu和内存使用情况的软件的信息,希望能对您有所参考。U0001f60a

Win10内存检测工具怎么用?Win10用工具排查内存是否正常的方法

Win10操作系统内置有很多实用的功能,大家平时比较少用到,比如内存检测工具,此工具有什么作用?如果电脑出现无故的蓝屏,或是重新启动,用内存检测工具排查内存是否正常。那么Win10内存检测工具怎么用?下文分享具体的使用方法。具体方法如下:1、在Windows10系统桌面,依次点击“开始/Windows系统/控制面板”菜单项;2、在打开的控制面板窗口中,点击查看方式下拉菜单,在弹出菜单中选择“大图标”菜单项;3、接下来在打开的控制面板窗口中找到“管理工具”图标,点击打开管理工具;4、在打开的管理工具窗口中,找到“Windows内存诊断”快捷链接,打开Windows10系统自带的内存诊断工具;5、这时会弹出窗口中选择是立即重新启动,还是下次重新启动时检查内存;6、重新启动电脑后,就会自动运行内存诊断工具了,对内存进行测试;7、我们按下F1快捷键后,可以打开测试模式的修改,一般选择默认的“标准”就可以了。内存是电脑的核心硬件之一,如果你不清楚内存是否正常,可以用内存检测工具来排查,希望对大家操作电脑有所帮助。

XP系统使用MemTest检测内存的方法

MemTest是比较少见的内存检测工具,功能非常齐全,能够全面的检测出内存的稳定性能。还可以测试XP系统记忆方面的储存于检索资料方面的性能,那么XP系统怎么使用MemTest检测内存?接下去小编和大家讲解具体操作方法。温馨提示:如果打算长时间不使用电脑,一定要进行检测,在检测的时候,最好保证其他的软件是处于关闭状态,然后再进行检测,给软件充足的时间来进行检测内存,找出潜在问题。1、然后启动MemTest软件,在其中输入打算测试的内存容量或是使用系统默许的“所有未使用的内存”;2、然后点击“开始测试”按钮,电脑屏幕会弹出一个用户注意方面的对话框;3、然后点击“确定”开始进行测试,如下图所示,一般尽可能把测试的时间延长。以上教程步骤内容就是XP系统使用MemTest检测内存的方法,希望此方法能够帮助到大家。

WIN7 自带的内存检测工具怎么用

1、对于Windows7系统,在开始界面搜索‘内存"来查询工具2、查询结果如下,选择‘Windows内存诊断"3、点击之后自动诊断结果就出来了。如果有问题,则显示如下:扩展资料:WIN7自带的内存条检测工具是一款简单易用的内存型号检测工具,提供清晰直观的内存型号规格信息,内存条是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存检测工具不但可以彻底的检测出内存的稳定度,还可同时测试记忆的储存与检索资料的能力,可以确实掌控到机器上正在使用的内存到底可不可信赖。

WIN7 自带的内存检测工具怎么用

自带系统修复功能在开始菜单上单击右键,选择【命令提示符(管理员)】;在命令提示符中输入:sfc /scannow 按下回车键,稍等片刻即可开始自检并修复;无故蓝屏、自动重启,甚至不能开机的情况一般是由于内存引起的,我们可以使用内存检测工具来检,打开“控制面板-管理工具”中找到Windows内存诊断 ,打开内存诊断工具后点击“立即重新启动并检查问题”,重启电脑后就会进入自动检测阶段。打开文件、程序速度慢,读盘慢可能是硬盘所导致的,我们可以利用硬盘检测工具进行检测,打开此电脑,在相应的磁盘盘符上点击鼠标右键,选择“属性-工具”后就能开始检查磁盘是否有错误。

win7系统检测内存的三种方法

win7系统检测内存的方法有很多种,我们都知道内存是电脑中十分重要的硬件,内存越大,电脑运行速度越快。当然内存也会发生错误,和磁盘坏道一样,内存有问题时容易导致系统崩溃,数据丢失,那么Win764位旗舰版系统如何检测内存呢?其实Win7自带了内存检测工具,不需要下载第三方软件。接下去小编向大家介绍win7系统检测内存的三种方法。推荐:深度技术win7旗舰版方法一:1、Win7系统下开启,点击开始——运行,然后输入:c:windowssystem32mdsched.exe回车;2、系统会询问你马上重启检测还是等下一次开机时检测;3、以下为检测界面。方法二:电脑启动自检后按F8(笔记本按Fn+F8),进入高级启动选项---按ESC退出---进入WINDOWS启动管理器—按TAB键选择内存检测工具。方法三:电脑启动自检后直接按TAB键选择内存检测工具。上述介绍就是win7系统检测内存的三种方法,操作起来非常简单,希望上网教程可以帮助到大家!

联想打印机显示内存溢出怎么解决?

打印机内存溢出一般是因为打印作业的页数过多导致,可以关闭打印机后重新开机解决。如果仍需打印源文件,最好分批打印,否则设备还会出现内存溢出的。

按键精灵怎么防止内存溢出

防止内存泄漏一般有以下几种方法:1. 尽可能使用局部变量,一旦局部变量完成了它们的任务,它们就会被自动释放掉。2. 及时释放堆空间,及时将不再使用的堆空间释放,以确保可用的内存量尽可能多。3. 合理使用语句块,在一个代码块中进行大量的运算与内存分配,容易导致内存泄漏,应该及时结束代码块并释放内存。4. 使用内存和资源管理的库,如智能指针等。5. 定期进行垃圾回收,可以使用自动垃圾回收机制来定期回收不再被使用的内存。建议您在开发过程中注意以上几点,以避免内存泄漏和内存溢出的问题。

JVM内存溢出的两大类型及解决方案

  你知道如何解决JVM内存溢出问题吗 这里和大家分享一下 JVM管理两种类型的内存 堆和非堆 堆是给开发人员用的上面说的就是 是在JVM启动时创建 非堆是留给JVM自己用的 用来存放类的信息的   JVM内存溢出的详细解决方案   JVM内存溢出类型    java lang OutOfMemoryError:PermGenspace   JVM管理两种类型的Java内存 堆和非堆 堆是给开发人员用的上面说的就是 是在JVM启动时创建 非堆是留给JVM自己用的 用来存放类的信息的 它和堆不同 运行期内GC不会释放空间 如果webapp用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小 超出了也会导致这块内存的占用过多造成JVM内存溢出 或者tomcat热部署时侯不会清理前面加载的环境 只会将context更改为新部署的 非堆存的内容就会越来越多   PermGenspace的全称是PermanentGenerationspace 是指内存的永久保存区域 这块内存主要是被JVM存放Class和Meta信息的 Class在被Loader时就会被放到PermGenspace中 它和存放类实例(Instance)的Heap区域不同 GC(GarbageCollection)不会在主程序运行期对PermGenspace进行清理 所以如果你的应用中有很CLASS的话 就很可能出现PermGenspace错误 这种错误常见在web服务器对JSP进行prepile的时候 如果你的WEBAPP下都用了大量的第三方jar 其大小超过了jvm默认的大小( M)那么就会产生此错误信息了   一个最佳的配置例子 (经过本人验证 自从用此配置之后 再未出现过tomcat死掉的情况)    setJAVA_OPTS= Xms m    Xmx m XX:PermSize= M    XX:MaxNewSize= m    XX:MaxPermSize= m    java lang OutOfMemoryError:Javaheapspace   再来看一下JVM内存溢出的第二种情况 第一种情况是个补充 主要存在问题就是出现在这个情况中 其默认空间(即 Xms)是物理内存的 / 最大空间( Xmx)是物理内存的 / 如果内存剩余不到 % JVM就会增大堆到Xmx设置的值 内存剩余超过 % JVM就会减小堆到Xms设置的值 所以服务器的Xmx和Xms设置一般应该设置相同避免每次GC后都要调整虚拟机堆的大小 假设物理内存无限大 那么JVM内存的最大值跟操作系统有关 一般 位机是 g到 g之间 而 位的就不会有限制了   注意 如果Xms超过了Xmx值 或者堆最大值和非堆最大值的总和超过了物理内存或者操作系统的最大限制都会引起服务器启动不起来   垃圾回收GC的角色   JVM调用GC的频度还是很高的 主要两种情况下进行垃圾回收   当应用程序线程空闲 另一个是java内存堆不足时 会不断调用GC 若连续回收都解决不了内存堆不足的问题时 就会报outofmemory错误 因为这个异常根据系统运行环境决定 所以无法预期它何时出现 根据GC的机制 程序的运行会引起系统运行环境的变化 增加GC的触发机会 lishixinzhi/Article/program/Java/hx/201311/26579

java内存溢出的问题如何排查

我写web项目遇到几次 基本都是xml文件配置问题 我不清楚你是个什么情况

联想ca2010dw内存溢出怎么解决方法

1、检查对数据库查询中,是否有一次获得全部数据的查询;对于数据库查询尽量采用分页的方式查询。2、检查List、MAP等集合对象是否有使用完后,未清除的问题。List、MAP等集合对象会始终存有对对象的引用,使得这些对象不能被GC回收。3、检查代码中是否有死循环或递归调用;检查是否有大循环重复产生新对象实体。4、使用内存查看工具动态查看内存使用情况。

java.lang内存溢出怎么解决

配置更多的内存仔细检查代码,分析

内存溢出

内存溢出你放在Tomcat的Web工程太多了,导致内存溢出,你关闭几个不需要的试试,如果不行的话 增加JVM大小。

出错7 内存溢出

问题现象:  1.预览或打印凭证时报错,提示: 运行时错误 "7":内存溢出  2. 查询明细账点[确认]后报错,提示: 出错:7-内存溢出  解决方法:  方法一: 从其他的电脑上拷贝ufformat.mdb文件,放在:操作系统目录system32UFCOMSQL下,如放在C:WINDOWSsystem32UFCOMSQL下。  方法二:从其他的电脑上拷贝ufrtprn.ocx文件,放在C:WINDOWSsystem32UFCOMSQL下,并对该文件重新注册。 请确认你拷贝的上面两个文件有没有放到上面说的正确文件夹位置,有些时候杀毒软件和防火墙会阻止你对windows文件夹里面的文件写入,所以要在操作前把杀毒软件和防火墙关闭后再完成上面操作,然后再把杀毒软件和防火墙打开。 如果仍不能解决问题,建议把你财务软件备份后,卸载T3,再重新安装一次T3,修复损坏的ufformat.mdb和ufrtprn.ocx。

内存溢出和内存泄漏的区别?产生原因以及解决方案。

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!产生的原因:1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;3.代码中存在死循环或循环产生过多重复的对象实体;4.使用的第三方软件中的BUG;5.启动参数内存值设定的过小解决方案:1)处理一些IO流的数据传输时,尽量结束时候把IO流关掉2)处理下载照片时候,使用BitmapFactory.options。设置insameplesize()方法压缩图片减少资源的占用;图片的压缩问题下面会写一个专门专题来讲;3)还可以通过降低照片像素的方法,从而降低占用的内存4)资源的回收:Bitmap.recycle()bitmap=null;5)尽量使用全局的变量,少new新的对象内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大。导致程序crash;

java内存溢出怎么解决

你内存不够了啊...StringBuffer的toString方法,会重新生成一个等常的char型数组,然后进行字符拷贝,你这个是内存不够了导致的。吧java内存设大点

鬼泣4特别版内存溢出

鬼泣4特别版内存溢出可以击桌面右键,属性,设置,高级示器,屏幕刷新频率。1、调到60赫兹,点击应用。点击确定。2、进入游戏即可解决内存溢出。

多线程导致内存溢出.什么原因

JVM内存设置小了 或者一次性读的数据过大 例如list vertor一、内存溢出类型1、java.lang.OutOfMemoryError: PermGen spaceJVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC不会释放空间。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了也会导致这块内存的占用过多造成溢出,或者tomcat热部署时侯不会清理前面加载的环境,只会将context更改为新部署的,非堆存的内容就会越来越多。PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的应用中有很CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。 一个最佳的配置例子:(经过本人验证,自从用此配置之后,再未出现过tomcat死掉的情况)set JAVA_OPTS=-Xms800m -Xmx800m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m2、java.lang.OutOfMemoryError: Java heap space第一种情况是个补充,主要存在问题就是出现在这个情况中。其默认空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。如果内存剩余不到40%,JVM就会增大堆到Xmx设置的值,内存剩余超过70%,JVM就会减小堆到Xms设置的值。所以服务器的Xmx和Xms设置一般应该设置相同避免每次GC后都要调整虚拟机堆的大小。假设物理内存无限大,那么JVM内存的最大值跟操作系统有关,一般32位机是1.5g到3g之间,而64位的就不会有限制了。注意:如果Xms超过了Xmx值,或者堆最大值和非堆最大值的总和超过了物理内存或者操作系统的最大限制都会引起服务器启动不起来。垃圾回收GC的角色JVM调用GC的频度还是很高的,主要两种情况下进行垃圾回收:当应用程序线程空闲;另一个是java内存堆不足时,会不断调用GC,若连续回收都解决不了内存堆不足的问题时,就会报out of memory错误。因为这个异常根据系统运行环境决定,所以无法预期它何时出现。根据GC的机制,程序的运行会引起系统运行环境的变化,增加GC的触发机会。为了避免这些问题,程序的设计和编写就应避免垃圾对象的内存占用和GC的开销。显示调用System.GC()只能建议JVM需要在内存中对垃圾对象进行回收,但不是必须马上回收,一个是并不能解决内存资源耗空的局面,另外也会增加GC的消耗。二、JVM内存区域组成简单的说java中的堆和栈java把内存分两种:一种是栈内存,另一种是堆内存1。在函数中定义的基本类型变量和对象的引用变量都在函数的栈内存中分配;2。堆内存用来存放由new创建的对象和数组在函数(代码块)中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量所分配的内存空间;在堆中分配的内存由java虚拟机的自动垃圾回收器来管理堆的优势是可以动态分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的。缺点就是要在运行时动态分配内存,存取速度较慢;栈的优势是存取速度比堆要快,缺点是存在栈中的数据大小与生存期必须是确定的无灵活性。java堆分为三个区:New、Old和PermanentGC有两个线程:新创建的对象被分配到New区,当该区被填满时会被GC辅助线程移到Old区,当Old区也填满了会触发GC主线程遍历堆内存里的所有对象。Old区的大小等于Xmx减去-Xmnjava栈存放栈调整:参数有+UseDefaultStackSize -Xss256K,表示每个线程可申请256k的栈空间每个线程都有他自己的Stack三、JVM如何设置虚拟内存提示:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。提示:JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。提示:假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统下为2G-3G),而64bit以上的处理器就不会有限制了提示:注意:如果Xms超过了Xmx值,或者堆最大值和非堆最大值的总和超过了物理内存或者操作系统的最大限制都会引起服务器启动不起来。提示:设置NewSize、MaxNewSize相等,"new"的大小最好不要大于"old"的一半,原因是old区如果不够大会频繁的触发"主" GC ,大大降低了性能JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。解决方法:手动设置Heap size修改TOMCAT_HOME/bin/catalina.bat在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:JAVA_OPTS="-server -Xms800m -Xmx800m -XX:MaxNewSize=256m"四、性能检查工具使用定位内存泄漏:JProfiler工具主要用于检查和跟踪系统(限于Java开发的)的性能。JProfiler可以通过时时的监控系统的内存使用情况,随时监视垃圾回收,线程运行状况等手段,从而很好的监视JVM运行情况及其性能。1. 应用服务器内存长期不合理占用,内存经常处于高位占用,很难回收到低位;2. 应用服务器极为不稳定,几乎每两天重新启动一次,有时甚至每天重新启动一次;3. 应用服务器经常做Full GC(Garbage Collection),而且时间很长,大约需要30-40秒,应用服务器在做Full GC的时候是不响应客户的交易请求的,非常影响系统性能。因为开发环境和产品环境会有不同,导致该问题发生有时会在产品环境中发生,通常可以使用工具跟踪系统的内存使用情况,在有些个别情况下或许某个时刻确实是使用了大量内存导致out of memory,这时应继续跟踪看接下来是否会有下降,如果一直居高不下这肯定就因为程序的原因导致内存泄漏。五、不健壮代码的特征及解决办法1、尽早释放无用对象的引用。好的办法是使用临时变量的时候,让引用变量在退出活动域后,自动设置为null,暗示垃圾收集器来收集该对象,防止发生内存泄露。对于仍然有指针指向的实例,jvm就不会回收该资源,因为垃圾回收会将值为null的对象作为垃圾,提高GC回收机制效率;2、我们的程序里不可避免大量使用字符串处理,避免使用String,应大量使用StringBuffer,每一个String对象都得独立占用内存一块区域;String str = "aaa";String str2 = "bbb";String str3 = str + str2;//假如执行此次之后str ,str2以后再不被调用,那它就会被放在内存中等待Java的gc去回收,程序内过多的出现这样的情况就会报上面的那个错误,建议在使用字符串时能使用StringBuffer就不要用String,这样可以省不少开销;3、尽量少用静态变量,因为静态变量是全局的,GC不会回收的;4、避免集中创建对象尤其是大对象,JVM会突然需要大量内存,这时必然会触发GC优化系统内存环境;显示的声明数组空间,而且申请数量还极大。这是一个案例想定供大家警戒使用jspsmartUpload作文件上传,运行过程中经常出现java.outofMemoryError的错误,检查之后发现问题:组件里的代码m_totalBytes = m_request.getContentLength();m_binArray = new byte[m_totalBytes];问题原因是totalBytes这个变量得到的数极大,导致该数组分配了很多内存空间,而且该数组不能及时释放。解决办法只能换一种更合适的办法,至少是不会引发outofMemoryError的方式解决。参考:http://bbs.xml.org.cn/blog/more.asp?name=hongrui&id=37475、尽量运用对象池技术以提高系统性能;生命周期长的对象拥有生命周期短的对象时容易引发内存泄漏,例如大集合对象拥有大数据量的业务对象的时候,可以考虑分块进行处理,然后解决一块释放一块的策略。6、不要在经常调用的方法中创建对象,尤其是忌讳在循环中创建对象。可以适当的使用hashtable,vector 创建一组对象容器,然后从容器中去取那些对象,而不用每次new之后又丢弃7、一般都是发生在开启大型文件或跟数据库一次拿了太多的数据,造成 Out Of Memory Error 的状况,这时就大概要计算一下数据量的最大值是多少,并且设定所需最小及最大的内存空间值。

电脑内存溢出蓝屏怎么解决

换内存换内存

如何避免JDBC内存溢出问题

完整形式如:jdbc:mysql://192.168.1.252:3306/lims?useUnicode=true&charsetEncoding=utf8&useCursorFetch=true&defaultFetchSize=100此方法只针对mysql有效。

电脑总是蓝屏,内存溢出怎么办

换根内存试试

如何检查和解决java虚拟机内存溢出的问题

JAVA虚拟机OutOfMemoryError主要包括以下四类:java.lang.OutOfMemoryError: Java heap spacejava.lang.OutOfMemoryError: unable to create new native threadjava.lang.OutOfMemoryError: PermGen spacejava.lang.OutOfMemoryError: Requested array size exceeds VM limit在工作中我们经常会遇到Java heap space、PermGen space这两种错误。Java heap space:原因:Heap内存溢出,意味着Young和Old generation的内存不够。解决:调整java启动参数 -Xms -Xmx 来增加Heap内存。PermGen space:原因:Permanent Generation空间不足,不能加载额外的类。解决:调整-XX:PermSize= -XX:MaxPermSize= 两个参数来增大PermGen内存。一般情况下,这两个参数不要手动设置,只要设置-Xmx足够大即可,JVM会自行选择合适的PermGen大小。

领像M101DW打印机内存溢出怎么解决方法?

打印机内存溢出,说明打印的文件过大导致设备无法处理导致,建议关闭打印机,然后再启动打印机即可清除内存的文件。再次发送同样的打印作业,建议分批打印即可,避免再次出现内存溢出的情况。

什么是C语言中内存溢出?关于malloc函数的~

malloc是C语言的动态内存分配函数,声明与malloc.h。由于stdlib.h中引用了malloc.h,所以在代码中引用malloc.h或stdlib.h均可。声明形式为void * malloc(int size);功能为申请一段长度为size字节的内存,并将内存的首地址返回,该返回值一般保存在指针变量中。后续对指针按照偏移量访问,可以实现访问对应元素的效果。而在C语言中,访问指针时,并不会对偏移量是否合法做判断,这样在编程不严谨甚至错误时,就有可能访问超出合法范围的元素。比如申请了100个字节的空间,却访问了第101个字节,这种超出合法范围的访问就称为内存溢出。由于内存是动态分配的,所以无法预知溢出部分内存是何种作用,所以内存溢出会导致不可预知的后果,可能是某个运算出错,甚至整个程序崩溃,同样也可能出现完全没有影响。由于内存溢出的不确定性,现象也多种多样,导致内存溢出后,程序问题点定位和修改均很繁琐,所以最好的方法是在代码构建阶段着重注意内存访问的限制,确保不会出现溢出。

java有内存溢出吗?如果有是什么情况?

内存溢出有很多场景都会导致,最简单的就是栈内存溢出,我们常用的递归调用,如果递归函数没有出口,那就回造成栈内存溢出,例如下面的代码就会导致栈内存溢出关于Java内存溢出有很多场景,还有堆内存溢出,例如查询sql时,对象过多过大,而且jvm分配不合理,也会导致堆内存溢出java内存溢出这里有一篇文章介绍的还可以,可以借鉴一下网页链接

内存溢出和内存泄漏的区别,产生原因以及解决方案

内存泄漏是申请的空间没有及时释放或者干脆丢了指针没法释放.不是泄漏,是漏不出来;只是泄漏的内存远小于可分配的内存时影响不大,多了就玩完.

bytearrayoutputstream内存溢出

bytearrayoutputstream内存溢出明显是内存泄漏。内存8G的内存占了7G多,很明显是内存泄漏。后来发现对文件的操作的时候用到了ByteArrayInputStream。ByteArrayOutputStream是字节数组输出流。它继承于OutputStream。

产生堆外内存溢出:OutOfDirectMemoryError

1)、springboot2.以后默认使用Lettuce作为操作redis的客户端。它使用netty进行网络通信。 2)、Lettuce的bug导致netty堆外内存溢出-Xmx300m;netty如果没有指定堆外内存,默认使用-Xmx300m 可以通过-Dio.netty.maxDirectMemory进行设置 不能使用-Dio.netty.maxDirectMemory只去调大堆外内存。 1)、升级Lettuce客户端。2)、切换使用jedis

OPENGL程序导致物理内存溢出怎么解决

引起内存不足、内存溢出的 原因 有很多种,常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收; 3.代码中存在死循环或循环产生过多重复的对象实体; ...

如何解决物理内存不足引起的JAVA 堆内存溢出

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。 内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出!比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出. 以发生的方式来分类,内存泄漏可以分为4类: 1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。 2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。 3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。 4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。 从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏它更难被检测到 内存溢出的原因以及解决方法引起内存溢出的原因有很多种,小编列举一下常见的有以下几种:1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;3.代码中存在死循环或循环产生过多重复的对象实体;4.使用的第三方软件中的BUG;5.启动参数内存值设定的过小内存溢出的解决方案:第一步,修改JVM启动参数,直接增加内存。(-Xms,-Xmx参数一定不要忘记加。)第二步,检查错误日志,查看逗OutOfMemory地错误前是否有其它异常或错误。第三步,对代码进行走查和分析,找出可能发生内存溢出的位置。重点排查以下几点:1.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。2.检查代码中是否有死循环或递归调用。3.检查是否有大循环重复产生新对象实体。4.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。5.检查List、MAP等集合对象是否有使用完后,未清除的问题。List、MAP等集合对象会始终存有对对象的引用,使得这些对象不能被GC回收。第四步,使用内存查看工具动态查看内存使用情况

内存泄漏是什么?

什么是内存泄漏? 一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的工内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。 请解释一下“内存泄漏”,这个问题会有什么影响 申请了内存不释放就是内存泄露 比如. void GetMemory(int len) { int *p =new int[len]; } p申请了内存,但是函数返回了,没有指针的首地址传出来,不能释放了 内存泄漏是什么意思?简单说说就行了。 简单说 内存中的某一块正在被其他程序使用 这时如果再有其他程序试图使用这块内存 就会发生内存泄露 内存泄漏是指_______ 选D项,实际上是堆内存分配后,至最终都没有被回收,始终被占用最典型的例子是使用new分配内存,在整个程序中一直没有使用delete销毁,这就造成了使用new分配的那部分堆内存始终被占用(没有被释放) 内存泄露有一点想不明白,到底什么样才算内存泄漏 工具-选项-高级-更新-Firefox的对号去掉就行了。事实上3.0以后的版本对内存的管理更好了,内存泄露已经很少见了,但对于内存的最小值要求貌似更高一些,我曾经在256内存的电脑上使用3.6没什么问题,当然,由于cpu不足引起的flash响应慢就不算了。再小的内存就没用过了,不知道什么样。 什么是内存溢出与内存泄露,几种常见导致内存泄露的 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 memory leak会最终会导致out of memory! 内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。 内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出!比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出. 以发生的方式来分类,内存泄漏可以分为4类: 1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。 2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。 3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。 4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。 从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏它更难被检测到 内存溢出的原因以及解决方法 引起内存溢出的原因有很多种,我列举一下常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 2. *** 类中有对对象的引用,使用完后未清空,使得JVM不能回收; 3.代码中存在死循环或循环产生过多重复的对象实体; 4.使用的第三方软件中的BUG; 5.启动参数内存值设定的过小 内存溢出的解决方案: 第一步,修改JVM启动参数,直接增加内存。(-Xms,-Xmx参数一定不要忘记加。) 第二步,检查错误日志,查看逗OutOfMemory地错误前是否有其它异常或错误。 第三步,对代码进行走查和分析,找出可能发生内存溢出的位置。 重点排查以下几点: 1.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查......>> java内存泄露,是什么意思 内存泄露是指你申请了内存空间但是没有控制释放,然后那一块内存就被荒废了,你自己不用了,别人也用了不了,结果内存就被你占满了 什么是内在泄露...内存泄露了会有什么后果..?? 内存泄漏是主内存分配了部分内存后而没有释放,逐渐耗尽内存资源,导致系统崩溃。它的后果甚至是会影响到以后内存的正常运行或使用内存损坏~~~ 它主要是指程序中间动态分配了内存,但是在程序结束时没有释放这部分内存,从而造成那一部分内存不可用的情况,重起计算机可以解决,但是也有可能再次发生内存泄露,内存泄露和硬件没有关系,它是由软件引起的。而在一般情况下无法轻易被发现的其实它也是轻易不是出现的,它就好象你坐在一个升降机里所在是13楼而你还按下13楼的按扭一样,内存泄露只会在这样的情况下出现的,不过内存泄露或者内存泄漏说还是会比一个人站在13楼还按要去13楼的按扭这样的情况要多的多,因为有时内存泄漏会时常发生在用户使用某些较大且较复杂的程序中~~~~处理的办法也只有使用一些软件来测试内存有没有这样泄露的问题了~~~~~不过要是隐性式的内存泄漏就不太好办了~~~要根据当前发生一些问题或是一些操作来判断是否发生内存泄漏的问题 c++中中内存泄露有什么危害? 从用户使用程序的角度来看,内存泄漏本身不会产生什么危害。作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积。而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄礌它更难被检测到。存在内存泄漏问题的程序除了会占用更多的内存外,还会使程序的性能急剧下降。对于服务器而言,如果出现这种情况,即使系统不崩溃,也会严重影响使用。 不过还有一点,如果你的程序内存泄露正好写到了系统使用的内存或者其他程序使用的内存地址,那么就会导致系统异常或者程序崩溃 什么是内存泄漏 如何避免 内存泄漏的定义: 对象不再被应用程序使用,但是垃圾回收器却不能移除它们,因为它们正在被引用。 如何阻止内存泄漏? 以下是一些阻止内存泄漏的快速动手技巧。 (1)注意 *** 类,例如HashMap,ArrayList,等等。因为它们是内存泄漏经常发生的地方。当它们被声明为静态时,它们的生命周期就同应用程序的生命周期一般长。 (2)注意事件监听器和回调,如果一个监听器已经注册,但是当这个类不再被使用时却未被注销,就会发生内存泄漏。 (3)“如果一个类管理它自己的内存,程序员应该对内存泄漏保持警惕。”[1] 很多时候当一个对象的成员变量指向其他对象时,不再使用时需要被置为null。 希望这个回答对你有帮助

电脑总提示内存溢出 怎么办呢?

虚拟内存不足你可以先设置一下充足的虚拟内存基本设置方法是右键点“我的电脑”,左键点“属性”,点选“高级”选项卡,点“性能”里的“设置”按钮,再选“高级”选项卡,点下面的“更改”按钮,所弹出的窗口就是虚拟内存设置窗口,一般默认的虚拟内存是从小到大的一段取值范围,这就是虚拟内存变化大小的范围,最好给它一个固定值,这样就不容易产生磁盘碎片了,具体数值根据你的物理内存大小来定,一般为物理内存的1.5到2倍,如内存为256M,那么应该设置256*1.5=384M,或者干脆512M,设置方法如下:假设内存为256M,虚拟内存放在D盘,先要将默认的清除,保持C盘为选中状态,单选“无分页文件(N)”再按“设置”按钮,此时C盘旁的虚拟内存就消失了,然后选中D盘,单选“自定义大小”,在下面的“初始大小”和“最大值”两个方框里都添上512,再点一下“设置”按钮,会看到D盘的旁边出现了“512-512”的字样,这样就说明设置好了,再一路确定,最终,系统会要重新启动,重启一下,便完成了设置

内存溢出问题

内存溢出问题,其实是个很复杂的问题,牵涉到硬件、软件以及使用。你可以观察一下:1)发生这种情况,是不是电脑使用了很长一段时间了?如果是的话,让它停一会儿2)如果电脑使用了很长时间了,要下载大的东西的话,先运行一下优化大师的内存3)打开电脑机箱,用刷子将内存条及周边的灰清理一下,最好将内存条拔出来,将金手指用力擦一下,再安装上去经过这样的操作后,内存溢出的情况可能会少多了对于内存溢出的问题,现在的软件没有什么好的解决方法的,微软也是如此,我上面说的都是从硬件与使用环境方面来讲的,但是软件,我们是没有方法来解决的,软件方面主要是读写出错,,因为在读写磁盘的时候,有各种原因,会造成读写信息的不完整,以后再次读写的时候就会造成错误的信息,表现为:内存数据溢出,交叉链接等一般的情况是重新启动后是没有上面关系的,为减少这些错误,可以一个月运行一下磁盘表面扫描程序。

怎么知道tomcat服务器内存溢出了

怎么知道tomcat服务器内存溢出了呢?看一下cmd命令行显示的内容就知道了,java.lang.OutOfMemoryError: PermGen space就是内存溢出

在java中上传文件出现内存溢出怎么解决标签:java,内存,溢出

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("GBK"); HttpSession session = (HttpSession) request.getSession(); final long MAX_SIZE = 10 * 1024 * 1024;// 设置上传文件最大为 10M // 允许上传的文件格式的列表 final String[] allowedExt = new String[] { "jpg", "jpeg", "gif", "png", "JPG", "bmp", "BMP" }; response.setContentType("text/html;charset=gbk"); // 设置字符编码为UTF-8, 这样支持汉字显示 response.setCharacterEncoding("GBK"); String strImageName = (String) session.getAttribute("strName"); if (ServletFileUpload.isMultipartContent(request)) { // 实例化一个硬盘文件工厂,用来配置上传组件ServletFileUpload DiskFileItemFactory dfif = new DiskFileItemFactory(); dfif.setSizeThreshold(4096);// 设置上传文件时用于临时存放文件的内存大小,这里是4K.多于的部分将临时存在硬盘 dfif.setRepository(new File(this.getServletContext().getRealPath( "/") + "Image"));// 设置存放临时文件的目录,web根目录下的Image目录 // 用以上工厂实例化上传组件 ServletFileUpload sfu = new ServletFileUpload(dfif); // 设置最大上传尺寸 sfu.setSizeMax(MAX_SIZE); PrintWriter out = response.getWriter(); // 从request得到 所有 上传域的列表 List fileList = null; try { fileList = sfu.parseRequest(request); } catch (FileUploadException e) {// 处理文件尺寸过大异常 if (e instanceof SizeLimitExceededException) { out.println("文件尺寸超过规定大小:" + MAX_SIZE + "字节<p />"); out.println("<a href="addGoods.jsp" >返回</a>"); return; } e.printStackTrace(); } // 没有文件上传 if (fileList == null || fileList.size() == 0) { out.println("请选择要上传文件a<p />"); out.println("<a href="addGoods.jsp" >返回</a>"); return; } // 得到所有上传的文件 Iterator fileItr = fileList.iterator(); // 循环处理所有文件 this.list = new ArrayList(); while (fileItr.hasNext()) { long size = 0; // 得到当前文件 fileItem = (FileItem) fileItr.next(); // 忽略简单form字段而不是上传域的文件域(<input type="text" />等) if (fileItem == null || fileItem.isFormField()) { System.out.println(fileItem.getFieldName()); inputstr = fileItem.getString("GBK"); list.add(inputstr); continue; } // 得到文件的完整路径 path = fileItem.getName(); // 得到文件的大小 size = fileItem.getSize(); if ("".equals(path) || size == 0) { out.println("请选择上传文件<p />"); out.println("<a href="addGoods.jsp" >返回</a>"); return; } System.out.println("文件的完整路径" + path); // 得到去除路径的文件名 t_name = path.substring(path.lastIndexOf("\") + 1); // 得到文件的扩展名(无扩展名时将得到全名) String t_ext = t_name.substring(t_name.lastIndexOf(".") + 1); // 拒绝接受规定文件格式之外的文件类型 //System.out.println("文件名:" + t_name); //System.out.println("文件扩展名:"+t_ext); // System.out.println(t_ext); int allowFlag = 0; int allowedExtCount = allowedExt.length; for (; allowFlag < allowedExtCount; allowFlag++) { if (allowedExt[allowFlag].equals(t_ext)) break; } if (allowFlag == allowedExtCount) { out.println("请上传以下类型的文件<p />"); for (allowFlag = 0; allowFlag < allowedExtCount; allowFlag++) out.println("*." + allowedExt[allowFlag] + " "); out.println("<p /><a href="addGoods.jsp" >返回</a>"); return; } long now = System.currentTimeMillis(); // 根据系统时间生成上传后保存的文件名 u_name = this.getServletContext().getRealPath("/") + "ImageDown\" + t_name; //System.out.println(u_name); try { // 保存文件 fileItem.write(new File(u_name)); /*out .println("文件上传成功. 文件大小: " + size + "字节<p />"); out.println("图片上传成功!" + "<a href="addGoods.jsp" >继续添加商品</a>");*/ } catch (Exception e) { e.printStackTrace(); } }给个例子你看看,这个是我写的一个,记得给分啊

vb内存溢出怎么解决

这样就不会溢出了:Private counter(1) As DoublePrivate Sub Command1_Click()Dim a As Doublea = Val(Text1.Text)counter(0) = aMsgBox "给数组中的一个元素赋值成功"End Sub

access内存溢出错误怎么办

你好,内存溢出可能是病毒作怪,也有可能是程序错误. 内存溢出是指系统内存全部被占用,没有可用内存分配给新启动的任务的情况,通常不会导致系统崩溃。 可以扩展一条内存,或者增大虚拟内存的大小 下面以在Windows XP下转移虚拟内存所在盘符为例介绍虚拟内存的设置方法: 一、手动设置虚拟内存   在默认状态下,是让系统管理虚拟内存的,但是系统默认设置的管理方式通常比较保守,在自动调节时会造成页面文件不连续,而降低读写效率,工作效率就显得不高,于是经常会出现逗内存不足地这样的提示,下面就让我们自已动手来设置它吧。   ①用右键点击桌面上的逗我的电脑地图标,在出现的右键菜单中选择逗属性地选项打开逗系统属性地窗口。在窗口中点击逗高级地选项卡,出现高级设置的对话框.   ②点击逗性能地区域的逗设置地按钮,在出现的逗性能选项地窗口中选择逗高级地选项卡,打开其对话框。   ③在该对话框中可看到关于虚拟内存的区域,点击逗更改地按钮进入逗虚拟内存地的设置窗口。选择一个有较大空闲容量的分区,勾选逗自定义大小地前的复选框,将具体数值填入逗初始大 二、量身定制虚似内存   1.普通设置法   根据一般的设置方法,虚拟内存交换文件最小值、最大值同时都可设为内存容量的1.5倍,但如果内存本身容量比较大,比如内存是512MB,那么它占用的空间也是很可观的。所以我们可以这样设定虚拟内存的基本数值:内存容量在256MB以下,就设置为1.5倍;在512MB以上,设置为内存容量的一半;介于256MB与512MB之间的设为与内存容量相同值。   2.精准设置法   由于每个人实际操作的应用程序不可能一样,比如有些人要运行3DMAX、Photoshop等这样的大型程序,而有些人可能只是打打字、玩些小游戏,所以对虚拟内存的要求并不相同,于是我们就要因地制宜地精确设置虚拟内存空间的数值。   ①先将虚拟内存自定义的逗初始大小地、逗最大值地设为两个相同的数值,比如500MB;   ②然后依次打开逗控制面板→管理工具→性能地,在出现的逗性能地对话框中,展开左侧栏目中的逗性能日志和警报地,选中其下的逗计数器日志地,在右侧栏目中空白处点击右键,选择右键菜单中的逗新建日志设置地选项;   ③在弹出的对话框逗名称地一栏中填入任意名称,比如逗虚拟内存测试地。在出现窗口中点击逗添加计数器地按钮进入下一个窗口;   ④在该窗口中打开逗性能对象地的下拉列表,选择其中的逗Paging File地,勾选逗从列表中选择计数器地,并在下方的栏目中选择逗%Usage Peak地;勾选逗从列表中选择范例地,在下方的栏目中选择逗_Total地,再依次点击逗添加→关闭地结束   ⑥在右侧栏目中可以发现多了一个逗虚拟内存测试地项目,如果该项目为红色则说明还没有启动,点击该项,选择右键菜单中的逗启动地选项即可   接下来运行自己常用的一些应用程序,运行一段时间后,进入日志文件所在的系统分区下默认目录逗PerfLogs地,找到逗虚拟内存测试_000001.csv地并用记事本程序打开它,在该内容中,我们查看每一栏中倒数第二项数值,这个数值是虚拟内存的使用比率,找到这项数值的最大值,比如图中的逗46地,用46%乘以500MB(前面所设定的虚拟内存数值),得出数值为230MB。   用该数值可以将初始大小设为230MB,而最大值可以根据磁盘空间大小自由设定,一般建议将它设置为最小值的2到3倍。这样我们就可以将虚拟内存打造得更精准,使自己的爱机运行得更加流畅、更具效率。 小地、逗最大值地栏中,而后依次点击逗设置→确定地按钮即可,最后重新启动计算机使虚拟内存设置生效。   建议:可以划分出一个小分区专门提供给虚拟内存、IE临时文件存储等使用,以后可以对该分区定期进行磁盘整理,从而能更好提高计算机的工作效率。 三、Windows虚拟内存加速密籍   虚拟内存对于任何版本的Windows而言都是十分重要的。如果设置得当,它将极大地提升电脑的性能和运行速度。可是在默认状态下,Windows始终将虚拟内存设为物理内存的1.5倍。这样的话,如果用户安装2GB的内存,系统就会腾出高达3GB的硬盘空间作为虚拟内存。但以当前的主流应用软件和游戏对内存的需要来看,根本没有必要使用这么多的虚拟内存。那么,有没有什么秘技或绝招可使虚拟内存运用得更有效率或更显性能呢看   1、分割存于多个硬盘   将虚拟内存设在较快的硬盘上,的确可使虚拟内存的运作更有效率。但是若电脑上两个硬盘速度一样快,则应将虚拟内存平均分配在两个不同的硬盘上(并非同一硬盘的不同分区)。因为同步进行读写操作会更有效地提高系统整体的虚

导致内存溢出的原因有哪些

引起内存溢出的原因有很多种,常见的有以下几种: 内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 集合类中有对对象的引用,使用完后未清空,使得JVM不能回收; 代码中存在死循环或循环产生过多重复的对象实体; 使用的第三方软件中的BUG; 启动参数设定的过小;

如何解决内存溢出问题

内存溢出的常见原因:1、可能是内存加载的数据量过大导致,比如一次提取过多的数据。2、可能是第三方软件bug导致,可以卸载软件。3、可能是启动参数内存值设定的过小,需要重新设置。4、可能是代码存在死循环。内存条购买注意事项:如果需要安装新的内存条,需要注意主板和内存条的兼容性,否则内存条的性能不能完全发挥,一些第三方软件可以给出电脑内存条的型号,可以通过软件测试电脑的内存是第几代,如果是DDR4就购买DDR4的内存条。

内存泄漏是什么意思

问题一:内存泄漏是什么意思?简单说说就行了。 简单说 内存中的某一块正在被其他程序使用 这时如果再有其他程序试图使用这块内存 就会发生内存泄露 问题二:java内存泄露,是什么意思 内存泄露是指你申请了内存空间但是没有控制释放,然后那一块内存就被荒废了,你自己不用了,别人也用了不了,结果内存就被你占满了 问题三:内存泄露是什么意思 内存泄露是指程序中动态分配了内存,但是在程序结束时没有释放这 部分内存从而造成那一部分内存不可用的情况; 问题四:内存溢出和内存泄漏的区别,产生原因以及解决方案 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 memory leak会最终会导致out of memory! 内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。 内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出!比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出. 以发生的方式来分类,内存泄漏可以分为4类: 1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。 2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。 3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。 4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。 从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏它更难被检测到 内存溢出的原因以及解决方法 引起内存溢出的原因有很多种,我列举一下常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 2. *** 类中有对对象的引用,使用完后未清空,使得JVM不能回收; 3.代码中存在死循环或循环产生过多重复的对象实体; 4.使用的第三方软件中的BUG; 5.启动参数内存值设定的过小 内存溢出的解决方案: 第一步,修改JVM启动参数,直接增加内存。(-Xms,-Xmx参数一定不要忘记加。) 第二步,检查错误日志,查看“OutOfMemory”错误前是否有其它异常或错误。 第三步,对代码进行走查和分析,找出可能发生内存溢出的位置。 重点排查以下几点: 1.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查......>> 问题五:什么是内存泄漏 如何避免 内存泄漏的定义: 对象不再被应用程序使用,但是垃圾回收器却不能移除它们,因为它们正在被引用。 如何阻止内存泄漏? 以下是一些阻止内存泄漏的快速动手技巧。 (1)注意 *** 类,例如HashMap,ArrayList,等等。因为它们是内存泄漏经常发生的地方。当它们被声明为静态时,它们的生命周期就同应用程序的生命周期一般长。 (2)注意事件监听器和回调,如果一个监听器已经注册,但是当这个类不再被使用时却未被注销,就会发生内存泄漏。 (3)“如果一个类管理它自己的内存,程序员应该对内存泄漏保持警惕。”[1] 很多时候当一个对象的成员变量指向其他对象时,不再使用时需要被置为null。 希望这个回答对你有帮助 问题六:js内存泄露是什么意思 当一个DOM对象包含一个Js对象的引用(例如一个Event Handler), 而这个Js对象又持有对这个DOM对象的引用时,一个环状引用就行成了。 这本身并不是什么错误或者Bug,因为Js的回收机制能理解这种环状的引用结构并且在没有其他对象能关联到环上的时候回收这个环上的所有对象内存。 可不幸的是IE浏览器中的DOM结构并不受Js解释机制管理,所以它并不能理解这种失去外界引用的环状结构,导致环上任何对象都无法被访问到,可是内存依旧占据着,这也就是所谓的Js内存泄露了。 问题七:什么是内存泄露?内存泄露如何解决? 百度百科 内存泄露: 一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显式释放的内存。应用程序一般使用malloc,calloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。 内存泄漏是常见的问题。当以前分配的一片内存不再需要使用或无法访问时,但是却并没有释放它,那么对于该进程来说,会因此导致总可用内存的减少,这时就出现了内存泄漏。尽管优秀的编程实践可以确保最少的泄漏,但是根据经验,当使用大量的函数对相同的内存块进行处理时,很可能会出现内存泄漏。尤其是在碰到错误路径的情况下更是如此。 问题八:内存泄露有一点想不明白,到底什么样才算内存泄漏 工具-选项-高级-更新-Firefox的对号去掉就行了。事实上3.0以后的版本对内存的管理更好了,内存泄露已经很少见了,但对于内存的最小值要求貌似更高一些,我曾经在256内存的电脑上使用3.6没什么问题,当然,由于cpu不足引起的flash响应慢就不算了。再小的内存就没用过了,不知道什么样。 问题九:内存泄漏是指_______ 选D项,实际上是堆内存分配后,至最终都没有被回收,始终被占用 最典型的例子是使用new分配内存,在整个程序中一直没有使用delete销毁,这就造成了使用new分配的那部分堆内存始终被占用(没有被释放)

内存泄露和内存溢出是指什么,它们有什么区别

内存泄露和内存溢出的概念,以及它们的区别。具体如下:1、概念内存溢出(out of memory):是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露(memory leak):是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。2、区别内存溢出是指程序在申请内存时,没有足够的内存空间供其使用, 系统已经不能再分配出你所需要的空间;内存泄露是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但是内存泄漏次数多了就会导致内存溢出。内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。内存泄漏的分类1、常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。2、偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。3、一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。4、隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。

在查询下级的时候,出现了循环嵌套查询,导致内存溢出,应该怎么解决?

 解决办法:内存溢出虽然很棘手,但也有相应的解决办法,可以按照从易到难,一步步的解决。第一步,就是修改JVM启动参数,直接增加内存。这一点看上去似乎很简单,但很容易被忽略。JVM默认可以使用的内存为64M,Tomcat默认可以使用的内存为128MB,对于稍复杂一点的系统就会不够用。在某项目中,就因为启动参数使用的默认值,经常报"OutOfMemory"错误。因此,-Xms,-Xmx参数一定不要忘记加。第二步,检查错误日志,查看"OutOfMemory"错误前是否有其它异常或错误。在一个项目中,使用两个数据库连接,其中专用于发送短信的数据库连接使用DBCP连接池管理,用户为不将短信发出,有意将数据库连接用户名改错,使得日志中有许多数据库连接异常的日志,一段时间后,就出现"OutOfMemory"错误。经分析,这是由于DBCP连接池BUG引起的,数据库连接不上后,没有将连接释放,最终使得DBCP报"OutOfMemory"错误。经过修改正确数据库连接参数后,就没有再出现内存溢出的错误。查看日志对于分析内存溢出是非常重要的,通过仔细查看日志,分析内存溢出前做过哪些操作,可以大致定位有问题的模块。第三步,安排有经验的编程人员对代码进行走查和分析,找出可能发生内存溢出的位置。重点排查以下几点:uf06c 检查代码中是否有死循环或递归调用。uf06c 检查是否有大循环重复产生新对象实体。uf06c 检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。uf06c 检查List、MAP等集合对象是否有使用完后,未清除的问题。List、MAP等集合对象会始终存有对对象的引用,使得这些对象不能被GC回收。第四步,使用内存查看工具动态查看内存使用情况。某个项目上线后,每次系统启动两天后,就会出现内存溢出的错误。这种情况一般是代码中出现了缓慢的内存泄漏,用上面三个步骤解决不了,这就需要使用内存查看工具了。内存查看工具有许多,比较有名的有:Optimizeit Profiler、JProbeProfiler、JinSight和Java1.5的Jconsole等。它们的基本工作原理大同小异,都是监测Java程序运行时所有对象的申请、释放等动作,将内存管理的所有信息进行统计、分析、可视化。开发人员可以根据这些信息判断程序是否有内存泄漏问题。一般来说,一个正常的系统在其启动完成后其内存的占用量是基本稳定的,而不应该是无限制的增长的。持续地观察系统运行时使用的内存的大小,可以看到在内存使用监控窗口中是基本规则的锯齿形的图线,如果内存的大小持续地增长,则说明系统存在内存泄漏问题。通过间隔一段时间取一次内存快照,然后对内存快照中对象的使用与引用等信息进行比对与分析,可以找出是哪个类的对象在泄漏。通过以上四个步骤的分析与处理,基本能处理内存溢出的问题。当然,在这些过程中也需要相当的经验与敏感度,需要在实际的开发与调试过程中不断积累。内存溢出(out of memory),通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。此时软件或游戏就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件或游戏一段时间。内存溢出已经是软件开发历史上存在了近40年的"老大难"问题,像在"红色代码"病毒事件中表现的那样,它已经成为黑客攻击企业网络的"罪魁祸首"。 如在一个域中输入的数据超过了它的要求就会引发数据溢出问题,多余的数据就可以作为指令在计算机上运行。据有关安全小组称,操作系统中超过50%的安全漏洞都是由内存溢出引起的,其中大多数与微软的技术有关。定义及原因内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。为了解决Java中内存溢出问题,我们首先必须了解Java是如何管理内存的。Java的内存管理就是对象的分配和释放问题。在Java中,内存的分配是由程序完成的,而内存的释放是由垃圾收集器(GarbageCollection,GC)完成的,程序员不需要通过调用GC函数来释放内存,因为不同的JVM实现者可能使用不同的算法管理GC,有的是内存使用到达一定程度时,GC才开始工作,也有定时执行的,有的是中断式执行GC。但GC只能回收无用并且不再被其它对象引用的那些对象所占用的空间。Java的内存垃圾回收机制是从程序的主要运行对象开始检查引用链,当遍历一遍后发现没有被引用的孤立对象就作为垃圾回收。引起内存溢出的原因有很多种,常见的有以下几种:内存中加载的数据量过于庞大,如一次从数据库取出过多数据;集合类中有对对象的引用,使用完后未清空,使得JVM不能回收; 代码中存在死循环或循环产生过多重复的对象实体; 使用的第三方软件中的BUG; 启动参数内存值设定的过小。

什么是内存溢出与内存泄露,几种常见导致内存泄露的

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。 内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出!比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出. 以发生的方式来分类,内存泄漏可以分为4类: 1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。 2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。 3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。 4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。 从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏它更难被检测到 内存溢出的原因以及解决方法引起内存溢出的原因有很多种,小编列举一下常见的有以下几种:1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;3.代码中存在死循环或循环产生过多重复的对象实体;4.使用的第三方软件中的BUG;5.启动参数内存值设定的过小内存溢出的解决方案:第一步,修改JVM启动参数,直接增加内存。(-Xms,-Xmx参数一定不要忘记加。)第二步,检查错误日志,查看逗OutOfMemory地错误前是否有其它异常或错误。第三步,对代码进行走查和分析,找出可能发生内存溢出的位置。重点排查以下几点:1.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。2.检查代码中是否有死循环或递归调用。3.检查是否有大循环重复产生新对象实体。4.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。5.检查List、MAP等集合对象是否有使用完后,未清除的问题。List、MAP等集合对象会始终存有对对象的引用,使得这些对象不能被GC回收。第四步,使用内存查看工具动态查看内存使用情况

sql 内存溢出

引起内存不足、内存溢出的 原因 有很多种,常见的有以下几种:1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;3.代码中存在死循环或循环产生过多重复的对象实体;4.使用的第三方软件中的BUG;5.启动参数内存值设定的过小;内存溢出的解决方案 :第一步 ,修改JVM启动参数,直接增加内存。(-Xms,-Xmx参数一定不要忘记加。)第二步 ,检查错误日志,查看“OutOfMemory”错误前是否有其它异常或错误。第三步 ,对代码进行走查和分析,找出可能发生内存溢出的位置。重点排查以下几点:1.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此32313133353236313431303231363533e58685e5aeb931333337613839对于数据库查询尽量采用分页的方式查询。2.检查代码中是否有死循环或递归调用。3.检查是否有大循环重复产生新对象实体。4.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。5.检查List、MAP等集合对象是否有使用完后,未清除的问题。List、MAP等集合对象会始终存有对对象的引用,使得这些对象不能被GC回收。第四步 ,使用内存查看工具动态查看内存使用情况。

java面试题:如何解决内存溢出

及时销毁不用的对象和变量,定时执行强制垃圾回收

求生之路2内存溢出

清理缓存。根据查询求生之路2官网得知,求生之路2内存溢出需要清理缓存。1、首先打开Steam,找到求生之路2。2、其次右键点击求生之路2,打开设置。3、最后找到缓存设置,清理缓存即可。

ireport查询数据有80万条,内存溢出怎么解决

请问你的那句检索SQL文能检索出5条数据么?另外,detail部分的高度最好和你的FIELDS的高度一致,或者 你的detail高度不要拖太高其实 每个detail里面确实是只能显示1条记录的,当你的检索结果有多条的时候,如果你的detail高度 能在一页里面显示很多次 那么 你检索结果 便可以显示相应的条数,你可以理解成 detail 被循环显示了,但是里面的值 每次都不一样 如果你要在一个detail里面 显示 5行 那你需要通过嵌套 table控件的方法

内存溢出错误怎么解决

你好,内存溢出可能是病毒作怪,也有可能是程序错误.内存溢出是指系统内存全部被占用,没有可用内存分配给新启动的任务的情况,通常不会导致系统崩溃。可以扩展一条内存,或者增大虚拟内存的大小 下面以在Windows XP下转移虚拟内存所在盘符为例介绍虚拟内存的设置方法: 一、手动设置虚拟内存在默认状态下,是让系统管理虚拟内存的,但是系统默认设置的管理方式通常比较保守,在自动调节时会造成页面文件不连续,而降低读写效率,工作效率就显得不高,于是经常会出现“内存不足”这样的提示,下面就让我们自已动手来设置它吧。①用右键点击桌面上的“我的电脑”图标,在出现的右键菜单中选择“属性”选项打开“系统属性”窗口。在窗口中点击“高级”选项卡,出现高级设置的对话框.②点击“性能”区域的“设置”按钮,在出现的“性能选项”窗口中选择“高级”选项卡,打开其对话框。③在该对话框中可看到关于虚拟内存的区域,点击“更改”按钮进入“虚拟内存”的设置窗口。选择一个有较大空闲容量的分区,勾选“自定义大小”前的复选框,将具体数值填入“初始大二、量身定制虚似内存1.普通设置法根据一般的设置方法,虚拟内存交换文件最小值、最大值同时都可设为内存容量的1.5倍,但如果内存本身容量比较大,比如内存是512MB,那么它占用的空间也是很可观的。所以我们可以这样设定虚拟内存的基本数值:内存容量在256MB以下,就设置为1.5倍;在512MB以上,设置为内存容量的一半;介于256MB与512MB之间的设为与内存容量相同值。2.精准设置法由于每个人实际操作的应用程序不可能一样,比如有些人要运行3DMAX、Photoshop等这样的大型程序,而有些人可能只是打打字、玩些小游戏,所以对虚拟内存的要求并不相同,于是我们就要因地制宜地精确设置虚拟内存空间的数值。①先将虚拟内存自定义的“初始大小”、“最大值”设为两个相同的数值,比如500MB;②然后依次打开“控制面板→管理工具→性能”,在出现的“性能”对话框中,展开左侧栏目中的“性能日志和警报”,选中其下的“计数器日志”,在右侧栏目中空白处点击右键,选择右键菜单中的“新建日志设置”选项;③在弹出的对话框“名称”一栏中填入任意名称,比如“虚拟内存测试”。在出现窗口中点击“添加计数器”按钮进入下一个窗口;④在该窗口中打开“性能对象”的下拉列表,选择其中的“Paging File”,勾选“从列表中选择计数器”,并在下方的栏目中选择“%Usage Peak”;勾选“从列表中选择范例”,在下方的栏目中选择“_Total”,再依次点击“添加→关闭”结束⑥在右侧栏目中可以发现多了一个“虚拟内存测试”项目,如果该项目为红色则说明还没有启动,点击该项,选择右键菜单中的“启动”选项即可接下来运行自己常用的一些应用程序,运行一段时间后,进入日志文件所在的系统分区下默认目录“PerfLogs”,找到“虚拟内存测试_000001.csv”并用记事本程序打开它,在该内容中,我们查看每一栏中倒数第二项数值,这个数值是虚拟内存的使用比率,找到这项数值的最大值,比如图中的“46”,用46%乘以500MB(前面所设定的虚拟内存数值),得出数值为230MB。用该数值可以将初始大小设为230MB,而最大值可以根据磁盘空间大小自由设定,一般建议将它设置为最小值的2到3倍。这样我们就可以将虚拟内存打造得更精准,使自己的爱机运行得更加流畅、更具效率。小”、“最大值”栏中,而后依次点击“设置→确定”按钮即可,最后重新启动计算机使虚拟内存设置生效。建议:可以划分出一个小分区专门提供给虚拟内存、IE临时文件存储等使用,以后可以对该分区定期进行磁盘整理,从而能更好提高计算机的工作效率。三、Windows虚拟内存加速密籍虚拟内存对于任何版本的Windows而言都是十分重要的。如果设置得当,它将极大地提升电脑的性能和运行速度。可是在默认状态下,Windows始终将虚拟内存设为物理内存的1.5倍。这样的话,如果用户安装2GB的内存,系统就会腾出高达3GB的硬盘空间作为虚拟内存。但以当前的主流应用软件和游戏对内存的需要来看,根本没有必要使用这么多的虚拟内存。那么,有没有什么秘技或绝招可使虚拟内存运用得更有效率或更显性能呢?1、分割存于多个硬盘将虚拟内存设在较快的硬盘上,的确可使虚拟内存的运作更有效率。但是若电脑上两个硬盘速度一样快,则应将虚拟内存平均分配在两个不同的硬盘上(并非同一硬盘的不同分区)。因为同步进行读写操作会更有效地提高系统整体的虚拟内存性能。举个例子,假设你原本在硬盘C上设置了700MB的虚拟内存,现在你可尝试重新分配,即把硬盘C改为350MB,硬盘D新增350MB的虚拟内存。理论上这样做会加快虚拟内存整体的读写操作.2、硬盘需有足够空间如果你不是很有经验的电脑用户,又或者没有特殊的使用要求,在WindowsXP中选择“系统管理的大小”的方法来自动处理虚拟内存,一般情况下应该会比选择“自定义大小”的方法来得安全和稳定。不过,有一点大家必须注意,由于虚拟内存的“页面文件”(pagefile.sys)会随着电脑使用过程进行收缩和扩展,为使系统管理虚拟内存能够进行得顺利和更具弹性,我们必须保证分页文件所在的硬盘拥有足够的可用空间。3、最小值等于最大值选择“自定义大小”的方法来处理虚拟内存,并将最大值和最小值都设为同一数值。有很多人都相信用这种方法来处理虚拟内存有助于提高系统的性能。他们所持的理由是,当最大值和最小值都相等时,系统无需时刻进行收缩和扩展页面文件的动作。省去了这些工作,相应地就是提高系统效率。这种方法,很多人坚信有效,但同样地,也有人指出其实并没有效果。但不管怎样也好,如要将最大值和最小值设为相等,我们必须坚守一个原则,那就是虚拟内存的大小必须足够,否则系统轻则会出现效率下降(要进行更多复写动作来腾出空间),严重的更会造成系统不稳定。4、整理页面文件文件数据保存在硬盘上久了,文件碎片(fragment)自然会产生。要保持或提高硬盘的工作效率,我们应不时为硬盘进行一次碎片整理。所谓虚拟内存,其实也是硬盘上的资料文件,那么虚拟内存是否也应该像普通文件般需要整理呢?Windows系统处理页面文件(即虚拟内存)的方法有别于一般的文件。相比之下,页面文件比一般文件更少出现碎片,为页面文件进行整理通常是没有必要的。事实上,当Windows XP进行磁盘碎片整理时,页面文件不会牵涉其中。虽然Windows不会对页面文件进行整理,但事实上页面文件也有碎片存在。追求“尽善尽美”的朋友可能仍想对页面文件进行碎片整理。大家不妨试试下面的方法:在桌面“我的电脑”图标上单击鼠标右键,在随后出现的功能菜单中选“属性”。进入系统属性的设置窗口,用鼠标点选“高级”-->“性能”-->“设置”-->“高级”-->“更改”,在随后出现的“虚拟内存”设置窗口中选中“无分页文件”一项。最后单击“设置”按钮退出,并重新启动电脑。重新启动后,检查一下磁盘根目录中还有没有pagefile.sys页面文件存在,如有就将之删除。清除掉虚拟内存的页面文件后,现在我们再进行磁盘碎片整理。完成后,按照前面的步骤重新设置一定数量的虚拟内存,并启动电脑使之生效。经上述方法处理后,新得出的页面文件将会是没有碎片的。另外,如果想查看页面文件碎片的具体情况呢?启动磁盘碎片整理程序,为存在有页面文件的硬盘进行一次“分析”,再点选“查看报告”,看看“页面文件碎片”一栏便会一目了然。四、虚拟内存的理想大小及准确定位1、虚拟内存的理想大小想以“自定义大小”的方法来处理虚拟内存,究竟应该设置多大的虚拟内存呢?在WindowsXP中,如果由操作系统自己定义虚拟内存,系统通常会把最小值设置为物理内存的1.5倍。当扩展时,最大值则介于物理内存的2.5至3倍。一般情况下,用户想自定义虚拟内存的大小,均可参照这个比例设置。真的要参照这个比例吗?如果我的电脑上有1GB的内存,难不成最小值要设置为1.5GB,最大值是2.5至3GB。这样一来。Pagefile.sys页面文件至少为1.5GB,太不现实了!其实,大内存的系统跟小内存的系统相比,在设置虚拟内存时,标准有些不同。如果大家有512MB以上甚至1GB的内存,既然物理内存已经相当充足,所需的虚拟内存反而应该减少。故在大内存的系统中,虚拟内存的最小值可以设成物理内存的一半。比如有1GB的内存,虚拟内存的最小值设成512MB,最大值则维持3GB以备不时之需。注意:虽然最大值设为3GB,系统是不会立即出现3GB大小的pagefile.sys文件,实际上它首先会以最小值出现,待有扩展需要时才会递增。另外,有些大内存的朋友,可能会干脆不设置虚拟内存,以此强迫系统使用速度较快的内存。其实这是不太明智的做法。正所谓凡事都不要做得太绝对,完全没有虚拟内存也不行。原因是不少应用程序在设计时要求必须使用虚拟内存,没有了就会造成系统不稳定或死机。至于小内存的系统,例如256MB,参照1.5倍及3倍的设置比例最稳当。即虚拟内存最小值设为384MB,最大值768MB。2、手工订制最准确的虚拟内存0.5倍、1.5倍、3倍,哇!好像买衣服时分大、中、小号,完全没有个性。究竟设置虚拟内存有没有更“贴身剪裁”的方法呢?在WindowsXP桌面的“开始”→“运行”中输入perfmon.msc,一个与系统性能有关的监视器便会出现。看看显示器的底部,有三个计数器(pages/sec、Avg.Disk Queue Length及rocessor Time,)。为了便于我们接下来对虚拟内存的页面文件进行精确监测,现在请大家将这三个计数器逐一点选,并按键盘上的Delete键将它们删除。请大家放心,删除后,下次再启动系统性能监视器时,这三个项目会重新出现。删除后,现在请在图表中央位置单击鼠标右键,在随后出现的功能菜单中点选“添加计数器”一项,跟着在跳出窗口的“性能对象”一栏选“Process”。之后再在“从列表选择”一栏中点选“Page File Bytes”。不清楚“Page File Bytes”代表什么意思,只要单击“说明”按钮,解说文字便会出现在对话框之下。选定“Page File Bytes”后,再在右方的“从列表选择范例”一栏选取“Total”项,之后依次单击“添加”和“关闭”按钮,一个名为“Page File Bytes”的计数器便会出现在性能监视器的下方中。重复以上的动作,再添加一个名为“Page File Bytes Peak”的计数器(即Process下面的Page File Bytes Peak)。现在,回头看一下监视器,图表中应该正在显示并计量着刚才新增加的两个计数器。如无意外,这两个计数器在图表上的显示不正确,即数值靠近最高比例线,没有动态变化。不用怕,这并不表示你的电脑出了什么问题,而是图表比例设得不太恰当而已!用鼠标右键逐一单击监视器底部的“Page Fele Bytes”和“Page File By8tes Peak”计数器,并选“属性”一项。在“数据”页面的“比例”一栏中改为0.0000001,这样显示器中的图表便不再是没有动静了。如果你看过系统提供的说明,相信应该知道“Page File Bytes”和“Page File Bytes Peak”正是代表了系统监测期间所使用的虚拟内存及其峰值是多大。因此,需要精确地手工设置虚拟内存,可参考图表下方显示的数字,其单位是Bytes想知道在正常的情况下,你的系统会耗用多少虚拟内存?请将平时日常使用的应用软件同时启动并让它们开始工作,接着再看性能监视器上所显示的数值,心中有数了吧。人总有疯狂的时候,想知道自己疯狂使用电脑时系统需要多少虚拟内存,现在就尽情地将电脑上的程序启动并运行(例如,开十多个IE浏览器窗口上网,播放MP3和DVD影片,再进行光盘刻录或DV影片压缩编码),看看监视器的百分比会升高到多少。在图表上右击鼠标,点选“属性”,进入“图表”页面勾选“水平格线”一项。这样图表中会出现一条条的水平分割线,是不是好分辨了?图表中的红色垂直线跑得太快,来不及开启电脑上的程序进行测试?同样,在图表上单击鼠标右键,选“属性”,在常规页面的“自动抽样间隔”一项中将1秒改为5秒。此时,图表中的“图形时间”数值便会由1分40秒变成8分20秒。换言之,红色垂直线走完一圈需花费8分20秒,这个时间应该足以让大家开启并运行很多应用程序,然后再慢慢查看图表中的结果。最后,通过监视器的图表,相信大家已经能粗略估计你的电脑系统应设置多大的虚拟内存了。五、出现“虚拟内存不够”的几个可能1、感染病毒有些病毒发作时会占用大量内存空间,导致系统出现内存不足的问题。赶快去杀毒,升级病毒库,然后把防毒措施做好!2、虚拟内存设置不当虚拟内存设置不当也可能导致出现内存不足问题,一般情况下,虚拟内存大小为物理内存大小的2倍即可,如果设置得过小,就会影响系统程序的正常运行。重新调整虚拟内存大小以WinXP为例,右键点击“我的电脑”,选择“属性”,然后在“高级”标签页,点击“性能”框中的“设置”按钮,切换到“高级”标签页,然后在“虚拟内存”框中点击“更改”按钮,接着重新设置虚拟内存大小,完成后重新启动系统就好了。3、系统空间不足虚拟内存文件默认是在系统盘中,如WinXP的虚拟内存文件名为“pagefile.sys”,如果系统盘剩余空间过小,导致虚拟内存不足,也会出现内存不足的问题。系统盘至少要保留300MB剩余空间,当然这个数值要根据用户的实际需要而定。用户尽量不要把各种应用软件安装在系统盘中,保证有足够的空间供虚拟内存文件使用,而且最好把虚拟内存文件安放到非系统盘中。4、因为SYSTEM用户权限设置不当基于NT内核的Windows系统启动时,SYSTEM用户会为系统创建虚拟内存文件。有些用户为了系统的安全,采用NTFS文件系统,但却取消了SYSTEM用户在系统盘“写入”和“修改”的权限,这样就无法为系统创建虚拟内存文件,运行大型程序时,也会出现内存不足的问题。问题很好解决,只要重新赋予SYSTEM用户“写入”和“修改”的权限即可,不过这个仅限于使用NTFS文件系统的用户。六、虚拟内存的优化1. 启用磁盘写入缓存在“我的电脑”上单击鼠标右键选择“属性->硬件”,打开设备管理器找到当前正在使用的硬盘,单击鼠标右键选择属性。在硬盘属性的的“策略”页中,打开“启用磁盘上的写入缓存”。这个选项将会激活硬盘的写入缓存,从而提高硬盘的读写速度。不过要注意一点,这个功能打开后,如果计算机突然断电可能会导致无法挽回的数据丢失。因此最好在有UPS的情况下再打开这个功能。当然,如果你平常使用计算机时不要进行什么重要的数据处理工作,没有UPS也无所谓,这个功能不会对系统造成太大的损失。2. 打开Ultra MDA在设备管理其中选择IDE ATA/ATAPI控制器中的“基本/次要IDE控制器”,单击鼠标右键选择“属性”,打开“高级设置”页。这里最重要的设置项目就是“传输模式”,一般应当选择“DMA(若可用)”。3. 配置恢复选项Windows XP 运行过程中碰到致命错误时会将内存的快照保存为一个文件,以便进行系统调试时使用,对于大多数普通用户而言,这个文件是没有什么用处的,反而会影响虚拟内存的性能。所以应当将其关闭。在“我的电脑”上单击鼠标右键,选择“属性->高级”,在“性能”下面单击“设置”按钮,在“性能选项”中选择“高级”页。这里有一个“内存使用”选项,如果将其设置为“系统缓存”,Windows XP 将使用约4MB的物理内存作为读写硬盘的缓存,这样就可以大大提高物理内存和虚拟内存之间的数据交换速度。默认情况下,这个选项是关闭的,如果计算机的物理内存比较充足,比如256M或者更多,最好打开这个选项。但是如果物理内存比较紧张,还是应当保留默认的选项。七、页面文件的设置1、页面文件的大小计算对于不同的计算机而言,页面文件的大小是各不相同的。关于页面文件大小的设置,有两个流传甚广的“公式”,“物理内存X2.5”或者“物理内存X1.5”。这两种计算方法固然简便,但是并不适用于所有的计算机。设置页面文件大小最准确的方法是看看计算机在平常运行中实际使用的页面文件大小。通过Windows XP自带的日志功能可以监视计算机平常使用的页面文件的大小,从而进行最准确的设置,具体步骤如下。一、在“我的电脑”上单击鼠标右键,选择“属性->高级”,单击“性能”下面的“设置”按钮,然后选择“高级”页,单击“虚拟内存”下方的“更改”按钮。选择“自定义大小”,并将“起始大小”和“最大值”都设置为300M,这只是一个临时性的设置。设置完成后重新启动计算机使设置生效。二、进入“控制面板->性能与维护->管理工具”,打开“性能”,展开“性能日志和警告”,选择“计数器日志”。在窗口右侧单击鼠标右键选择“新建日志设置”三、随便设置一个日志名称,比如“监视虚拟内存大小”。四、在“常规”页中单击“添加计数器”按钮。在“性能对象”中选择“Paging File”,然后选中“从列表选择记数器”下面的“%Usage Peak”,并在右侧“从列表中选择范例”中选择“_Total”。最后单击“添加”和“关闭”按钮。五、别忘了记住“日志文件”页中的日志文件存放位置和文件名,我们后面需要查看这个日志来判断Windows XP平常到底用了多少虚拟内存,在这个例子中,日志文件被存放在D:Perflog目录下。另外还要设置“日志文件类型”为“文本文件”,这样便于阅读。这时你可以看到刚才新建的日志条目前面的图标变成了绿色,这表明日志系统已经在监视虚拟内存了。如果图标还是红色,你应该单击鼠标右键选择“开始”来启动这个日志。过一段时间后打开这个CVS文件,我们可以看到如下内容的条目。这个日志文件记录这一段时间中页面文件的使用情况,注意这里的单位是%,而不是MB。通过简单的计算,我们就可以得到页面文件的最小尺寸,公式是“页面文件尺寸X百分比”。比如这个例子中,虚拟内存最大的使用比率是31%,300MBX31%=93MB,这个值就是虚拟内存的最小值(注意,300MB是前面的设置的临时值)。如果物理内存较大,可以考虑将页面文件的“起始大小”和“最大值”设置为相等,等于上一步中计算出来的大小。这样硬盘中不会因为页面文件过渡膨胀产生磁盘碎片,其副作用是由于“最大值”被设置的较小,万一偶然出现虚拟内存超支的情况,可能会导致系统崩溃。2、设置页面文件现在回到“虚拟内存”的设置对话框中选择自定义大小并按照上面的计算结果分别设置“初始大小”和“最大值”。这里我们将“初始大小”设置为91M,而将“最大值”设置成了200M,这样比较保险3、对页面文件进行碎片整理Windows XP运行时需要大量访问页面文件,如果页面文件出现碎片,系统性能将会受到严重影响,而且会缩短硬盘的使用寿命。所以我们很有必要对页面文件定期进行碎片整理。不过别忘了,页面文件是系统关键文件,WindowsXP运行时无法对其进行访问。所以对它进行碎片整理并不是一件容易的事情。我们有两种方案可以选择,一是安装Windows双系统,然后启动另外一个Windows对Windows XP所在的分区进行碎片整理。二是使用专门的工具软件,比如System File Defragmenter等。

内存溢出错误怎么解决

你好,内存溢出可能是病毒作怪,也有可能是程序错误. 内存溢出是指系统内存全部被占用,没有可用内存分配给新启动的任务的情况,通常不会导致系统崩溃。 可以扩展一条内存,或者增大虚拟内存的大小 下面以在Windows XP下转移虚拟内存所在盘符为例介绍虚拟内存的设置方法: 一、手动设置虚拟内存   在默认状态下,是让系统管理虚拟内存的,但是系统默认设置的管理方式通常比较保守,在自动调节时会造成页面文件不连续,而降低读写效率,工作效率就显得不高,于是经常会出现“内存不足”这样的提示,下面就让我们自已动手来设置它吧。   ①用右键点击桌面上的“我的电脑”图标,在出现的右键菜单中选择“属性”选项打开“系统属性”窗口。在窗口中点击“高级”选项卡,出现高级设置的对话框.   ②点击“性能”区域的“设置”按钮,在出现的“性能选项”窗口中选择“高级”选项卡,打开其对话框。   ③在该对话框中可看到关于虚拟内存的区域,点击“更改”按钮进入“虚拟内存”的设置窗口。选择一个有较大空闲容量的分区,勾选“自定义大小”前的复选框,将具体数值填入“初始大 二、量身定制虚似内存   1.普通设置法   根据一般的设置方法,虚拟内存交换文件最小值、最大值同时都可设为内存容量的1.5倍,但如果内存本身容量比较大,比如内存是512MB,那么它占用的空间也是很可观的。所以我们可以这样设定虚拟内存的基本数值:内存容量在256MB以下,就设置为1.5倍;在512MB以上,设置为内存容量的一半;介于256MB与512MB之间的设为与内存容量相同值。   2.精准设置法   由于每个人实际操作的应用程序不可能一样,比如有些人要运行3DMAX、Photoshop等这样的大型程序,而有些人可能只是打打字、玩些小游戏,所以对虚拟内存的要求并不相同,于是我们就要因地制宜地精确设置虚拟内存空间的数值。   ①先将虚拟内存自定义的“初始大小”、“最大值”设为两个相同的数值,比如500MB;   ②然后依次打开“控制面板→管理工具→性能”,在出现的“性能”对话框中,展开左侧栏目中的“性能日志和警报”,选中其下的“计数器日志”,在右侧栏目中空白处点击右键,选择右键菜单中的“新建日志设置”选项;   ③在弹出的对话框“名称”一栏中填入任意名称,比如“虚拟内存测试”。在出现窗口中点击“添加计数器”按钮进入下一个窗口;   ④在该窗口中打开“性能对象”的下拉列表,选择其中的“Paging File”,勾选“从列表中选择计数器”,并在下方的栏目中选择“%Usage Peak”;勾选“从列表中选择范例”,在下方的栏目中选择“_Total”,再依次点击“添加→关闭”结束   ⑥在右侧栏目中可以发现多了一个“虚拟内存测试”项目,如果该项目为红色则说明还没有启动,点击该项,选择右键菜单中的“启动”选项即可   接下来运行自己常用的一些应用程序,运行一段时间后,进入日志文件所在的系统分区下默认目录“PerfLogs”,找到“虚拟内存测试_000001.csv”并用记事本程序打开它,在该内容中,我们查看每一栏中倒数第二项数值,这个数值是虚拟内存的使用比率,找到这项数值的最大值,比如图中的“46”,用46%乘以500MB(前面所设定的虚拟内存数值),得出数值为230MB。   用该数值可以将初始大小设为230MB,而最大值可以根据磁盘空间大小自由设定,一般建议将它设置为最小值的2到3倍。这样我们就可以将虚拟内存打造得更精准,使自己的爱机运行得更加流畅、更具效率。 小”、“最大值”栏中,而后依次点击“设置→确定”按钮即可,最后重新启动计算机使虚拟内存设置生效。   建议:可以划分出一个小分区专门提供给虚拟内存、IE临时文件存储等使用,以后可以对该分区定期进行磁盘整理,从而能更好提高计算机的工作效率。 三、Windows虚拟内存加速密籍   虚拟内存对于任何版本的Windows而言都是十分重要的。如果设置得当,它将极大地提升电脑的性能和运行速度。可是在默认状态下,Windows始终将虚拟内存设为物理内存的1.5倍。这样的话,如果用户安装2GB的内存,系统就会腾出高达3GB的硬盘空间作为虚拟内存。但以当前的主流应用软件和游戏对内存的需要来看,根本没有必要使用这么多的虚拟内存。那么,有没有什么秘技或绝招可使虚拟内存运用得更有效率或更显性能呢?   1、分割存于多个硬盘   将虚拟内存设在较快的硬盘上,的确可使虚拟内存的运作更有效率。但是若电脑上两个硬盘速度一样快,则应将虚拟内存平均分配在两个不同的硬盘上(并非同一硬盘的不同分区)。因为同步进行读写操作会更有效地提高系统整体的虚拟内存性能。   举个例子,假设你原本在硬盘C上设置了700MB的虚拟内存,现在你可尝试重新分配,即把硬盘C改为350MB,硬盘D新增350MB的虚拟内存。理论上这样做会加快虚拟内存整体的读写操作.   2、硬盘需有足够空间   如果你不是很有经验的电脑用户,又或者没有特殊的使用要求,在Windows XP中选择“系统管理的大小”的方法来自动处理虚拟内存,一般情况下应该会比选择“自定义大小”的方法来得安全和稳定。不过,有一点大家必须注意,由于虚拟内存的“页面文件”(pagefile.sys)会随着电脑使用过程进行收缩和扩展,为使系统管理虚拟内存能够进行得顺利和更具弹性,我们必须保证分页文件所在的硬盘拥有足够的可用空间。   3、最小值等于最大值   选择“自定义大小”的方法来处理虚拟内存,并将最大值和最小值都设为同一数值。有很多人都相信用这种方法来处理虚拟内存有助于提高系统的性能。他们所持的理由是,当最大值和最小值都相等时,系统无需时刻进行收缩和扩展页面文件的动作。省去了这些工作,相应地就是提高系统效率。   这种方法,很多人坚信有效,但同样地,也有人指出其实并没有效果。但不管怎样也好,如要将最大值和最小值设为相等,我们必须坚守一个原则,那就是虚拟内存的大小必须足够,否则系统轻则会出现效率下降(要进行更多复写动作来腾出空间),严重的更会造成系统不稳定。   4、整理页面文件   文件数据保存在硬盘上久了,文件碎片(fragment)自然会产生。要保持或提高硬盘的工作效率,我们应不时为硬盘进行一次碎片整理。所谓虚拟内存,其实也是硬盘上的资料文件,那么虚拟内存是否也应该像普通文件般需要整理呢?   Windows系统处理页面文件(即虚拟内存)的方法有别于一般的文件。相比之下,页面文件比一般文件更少出现碎片,为页面文件进行整理通常是没有必要的。事实上,当Windows XP进行磁盘碎片整理时,页面文件不会牵涉其中。   虽然Windows不会对页面文件进行整理,但事实上页面文件也有碎片存在。追求“尽善尽美”的朋友可能仍想对页面文件进行碎片整理。大家不妨试试下面的方法:   在桌面“我的电脑”图标上单击鼠标右键,在随后出现的功能菜单中选“属性”。进入系统属性的设置窗口,用鼠标点选“高级”-->“性能”-->“设置”-->“高级”-->“更改”,在随后出现的“虚拟内存”设置窗口中选中“无分页文件”一项。最后单击“设置”按钮退出,并重新启动电脑。   重新启动后,检查一下磁盘根目录中还有没有pagefile.sys页面文件存在,如有就将之删除。清除掉虚拟内存的页面文件后,现在我们再进行磁盘碎片整理。完成后,按照前面的步骤重新设置一定数量的虚拟内存,并启动电脑使之生效。经上述方法处理后,新得出的页面文件将会是没有碎片的。   另外,如果想查看页面文件碎片的具体情况呢?启动磁盘碎片整理程序,为存在有页面文件的硬盘进行一次“分析”,再点选“查看报告”,看看“页面文件碎片”一栏便会一目了然。 四、虚拟内存的理想大小及准确定位 1、虚拟内存的理想大小   想以“自定义大小”的方法来处理虚拟内存,究竟应该设置多大的虚拟内存呢?在Windows XP中,如果由操作系统自己定义虚拟内存,系统通常会把最小值设置为物理内存的1.5倍。当扩展时,最大值则介于物理内存的2.5至3倍。一般情况下,用户想自定义虚拟内存的大小,均可参照这个比例设置。   真的要参照这个比例吗?如果我的电脑上有1GB的内存,难不成最小值要设置为1.5GB,最大值是2.5至3GB。这样一来。Pagefile.sys页面文件至少为1.5GB,太不现实了!   其实,大内存的系统跟小内存的系统相比,在设置虚拟内存时,标准有些不同。   如果大家有512MB以上甚至1GB的内存,既然物理内存已经相当充足,所需的虚拟内存反而应该减少。故在大内存的系统中,虚拟内存的最小值可以设成物理内存的一半。比如有1GB的内存,虚拟内存的最小值设成512MB,最大值则维持3GB以备不时之需。注意:虽然最大值设为3GB,系统是不会立即出现3GB大小的pagefile.sys文件,实际上它首先会以最小值出现,待有扩展需要时才会递增。   另外,有些大内存的朋友,可能会干脆不设置虚拟内存,以此强迫系统使用速度较快的内存。其实这是不太明智的做法。正所谓凡事都不要做得太绝对,完全没有虚拟内存也不行。原因是不少应用程序在设计时要求必须使用虚拟内存,没有了就会造成系统不稳定或死机。   至于小内存的系统,例如256MB,参照1.5倍及3倍的设置比例最稳当。即虚拟内存最小值设为384MB,最大值768MB。 2、手工订制最准确的虚拟内存    0.5倍、1.5倍、3倍,哇!好像买衣服时分大、中、小号,完全没有个性。究竟设置虚拟内存有没有更“贴身剪裁”的方法呢?   在Windows XP桌面的“开始”→“运行”中输入perfmon.msc,一个与系统性能有关的监视器便会出现。看看显示器的底部,有三个计数器(pages/sec、Avg.Disk Queue Length及rocessor Time,)。为了便于我们接下来对虚拟内存的页面文件进行精确监测,现在请大家将这三个计数器逐一点选,并按键盘上的Delete键将它们删除。请大家放心,删除后,下次再启动系统性能监视器时,这三个项目会重新出现。   删除后,现在请在图表中央位置单击鼠标右键,在随后出现的功能菜单中点选“添加计数器”一项,跟着在跳出窗口的“性能对象”一栏选“Process”。之后再在“从列表选择”一栏中点选“Page File Bytes”。不清楚“Page File Bytes”代表什么意思,只要单击“说明”按钮,解说文字便会出现在对话框之下。   选定“Page File Bytes”后,再在右方的“从列表选择范例”一栏选取“Total”项,之后依次单击“添加”和“关闭”按钮,一个名为“Page File Bytes”的计数器便会出现在性能监视器的下方中。   重复以上的动作,再添加一个名为“Page File Bytes Peak”的计数器(即Process下面的Page File Bytes Peak)。   现在,回头看一下监视器,图表中应该正在显示并计量着刚才新增加的两个计数器。如无意外,这两个计数器在图表上的显示不正确,即数值靠近最高比例线,没有动态变化。不用怕,这并不表示你的电脑出了什么问题,而是图表比例设得不太恰当而已!用鼠标右键逐一单击监视器底部的“Page Fele Bytes”和“Page File By8tes Peak”计数器,并选“属性”一项。在“数据”页面的“比例”一栏中改为0.0000001,这样显示器中的图表便不再是没有动静了。   如果你看过系统提供的说明,相信应该知道“Page File Bytes”和“Page File Bytes Peak”正是代表了系统监测期间所使用的虚拟内存及其峰值是多大。因此,需要精确地手工设置虚拟内存,可参考图表下方显示的数字,其单位是Bytes   想知道在正常的情况下,你的系统会耗用多少虚拟内存?请将平时日常使用的应用软件同时启动并让它们开始工作,接着再看性能监视器上所显示的数值,心中有数了吧。   人总有疯狂的时候,想知道自己疯狂使用电脑时系统需要多少虚拟内存,现在就尽情地将电脑上的程序启动并运行(例如,开十多个IE浏览器窗口上网,播放MP3和DVD影片,再进行光盘刻录或DV影片压缩编码),看看监视器的百分比会升高到多少。   在图表上右击鼠标,点选“属性”,进入“图表”页面勾选“水平格线”一项。这样图表中会出现一条条的水平分割线,是不是好分辨了?   图表中的红色垂直线跑得太快,来不及开启电脑上的程序进行测试?   同样,在图表上单击鼠标右键,选“属性”,在常规页面的“自动抽样间隔”一项中将1秒改为5秒。此时,图表中的“图形时间”数值便会由1分40秒变成8分20秒。换言之,红色垂直线走完一圈需花费8分20秒,这个时间应该足以让大家开启并运行很多应用程序,然后再慢慢查看图表中的结果。   最后,通过监视器的图表,相信大家已经能粗略估计你的电脑系统应设置多大的虚拟内存了。 五、出现“虚拟内存不够”的几个可能   1、感染病毒   有些病毒发作时会占用大量内存空间,导致系统出现内存不足的问题。赶快去杀毒,升级病毒库,然后把防毒措施做好!   2、虚拟内存设置不当   虚拟内存设置不当也可能导致出现内存不足问题,一般情况下,虚拟内存大小为物理内存大小的2倍即可,如果设置得过小,就会影响系统程序的正常运行。重新调整虚拟内存大小以WinXP为例,右键点击“我的电脑”,选择“属性”,然后在“高级”标签页,点击“性能”框中的“设置”按钮,切换到“高级”标签页,然后在“虚拟内存”框中点击“更改”按钮,接着重新设置虚拟内存大小,完成后重新启动系统就好了。   3、系统空间不足   虚拟内存文件默认是在系统盘中,如WinXP的虚拟内存文件名为“pagefile.sys”,如果系统盘剩余空间过小,导致虚拟内存不足,也会出现内存不足的问题。系统盘至少要保留300MB剩余空间,当然这个数值要根据用户的实际需要而定。用户尽量不要把各种应用软件安装在系统盘中,保证有足够的空间供虚拟内存文件使用,而且最好把虚拟内存文件安放到非系统盘中。   4、因为SYSTEM用户权限设置不当   基于NT内核的Windows系统启动时,SYSTEM用户会为系统创建虚拟内存文件。有些用户为了系统的安全,采用NTFS文件系统,但却取消了SYSTEM用户在系统盘“写入”和“修改”的权限,这样就无法为系统创建虚拟内存文件,运行大型程序时,也会出现内存不足的问题。问题很好解决,只要重新赋予SYSTEM用户“写入”和“修改”的权限即可,不过这个仅限于使用NTFS文件系统的用户。 六、虚拟内存的优化   1. 启用磁盘写入缓存   在“我的电脑”上单击鼠标右键选择“属性->硬件”,打开设备管理器找到当前正在使用的硬盘,单击鼠标右键选择属性。在硬盘属性的的“策略”页中,打开“启用磁盘上的写入缓存”。   这个选项将会激活硬盘的写入缓存,从而提高硬盘的读写速度。不过要注意一点,这个功能打开后,如果计算机突然断电可能会导致无法挽回的数据丢失。因此最好在有UPS的情况下再打开这个功能。当然,如果你平常使用计算机时不要进行什么重要的数据处理工作,没有UPS也无所谓,这个功能不会对系统造成太大的损失。   2. 打开Ultra MDA   在设备管理其中选择IDE ATA/ATAPI控制器中的“基本/次要IDE控制器”,单击鼠标右键选择“属性”,打开“高级设置”页。这里最重要的设置项目就是“传输模式”,一般应当选择“DMA(若可用)”。   3. 配置恢复选项   Windows XP 运行过程中碰到致命错误时会将内存的快照保存为一个文件,以便进行系统调试时使用,对于大多数普通用户而言,这个文件是没有什么用处的,反而会影响虚拟内存的性能。所以应当将其关闭。   在“我的电脑”上单击鼠标右键,选择“属性->高级”,在“性能”下面单击“设置”按钮,在“性能选项”中选择“高级”页。这里有一个“内存使用”选项,如果将其设置为“系统缓存”,Windows XP 将使用约4MB的物理内存作为读写硬盘的缓存,这样就可以大大提高物理内存和虚拟内存之间的数据交换速度。默认情况下,这个选项是关闭的,如果计算机的物理内存比较充足,比如256M或者更多,最好打开这个选项。但是如果物理内存比较紧张,还是应当保留默认的选项。 七、页面文件的设置 1、页面文件的大小计算   对于不同的计算机而言,页面文件的大小是各不相同的。关于页面文件大小的设置,有两个流传甚广的“公式”,“物理内存X2.5”或者“物理内存X1.5”。这两种计算方法固然简便,但是并不适用于所有的计算机。设置页面文件大小最准确的方法是看看计算机在平常运行中实际使用的页面文件大小。   通过Windows XP自带的日志功能可以监视计算机平常使用的页面文件的大小,从而进行最准确的设置,具体步骤如下。   一、在“我的电脑”上单击鼠标右键,选择“属性->高级”,单击“性能”下面的“设置”按钮,然后选择“高级”页,单击“虚拟内存”下方的“更改”按钮。选择“自定义大小”,并将“起始大小”和“最大值”都设置为300M,这只是一个临时性的设置。设置完成后重新启动计算机使设置生效。   二、进入“控制面板->性能与维护->管理工具”,打开“性能”,展开“性能日志和警告”,选择“计数器日志”。在窗口右侧单击鼠标右键选择“新建日志设置”   三、随便设置一个日志名称,比如“监视虚拟内存大小”。   四、在“常规”页中单击“添加计数器”按钮。   在“性能对象”中选择“Paging File”,然后选中“从列表选择记数器”下面的“%Usage Peak”,并在右侧“从列表中选择范例”中选择“_Total”。最后单击“添加”和“关闭”按钮。   五、别忘了记住“日志文件”页中的日志文件存放位置和文件名,我们后面需要查看这个日志来判断Windows XP平常到底用了多少虚拟内存,在这个例子中,日志文件被存放在D:Perflog目录下。   另外还要设置“日志文件类型”为“文本文件”,这样便于阅读。   这时你可以看到刚才新建的日志条目前面的图标变成了绿色,这表明日志系统已经在监视虚拟内存了。如果图标还是红色,你应该单击鼠标右键选择“开始”来启动这个日志。   过一段时间后打开这个CVS文件,我们可以看到如下内容的条目。   这个日志文件记录这一段时间中页面文件的使用情况,注意这里的单位是%,而不是MB。通过简单的计算,我们就可以得到页面文件的最小尺寸,公式是“页面文件尺寸X百分比”。比如这个例子中,虚拟内存最大的使用比率是31%,300MBX31%=93MB,这个值就是虚拟内存的最小值(注意,300MB是前面的设置的临时值)。   如果物理内存较大,可以考虑将页面文件的“起始大小”和“最大值”设置为相等,等于上一步中计算出来的大小。这样硬盘中不会因为页面文件过渡膨胀产生磁盘碎片,其副作用是由于“最大值”被设置的较小,万一偶然出现虚拟内存超支的情况,可能会导致系统崩溃。 2、设置页面文件   现在回到“虚拟内存”的设置对话框中选择自定义大小并按照上面的计算结果分别设置“初始大小”和“最大值”。这里我们将“初始大小”设置为91M,而将“最大值”设置成了200M,这样比较保险 3、对页面文件进行碎片整理   Windows XP运行时需要大量访问页面文件,如果页面文件出现碎片,系统性能将会受到严重影响,而且会缩短硬盘的使用寿命。所以我们很有必要对页面文件定期进行碎片整理。   不过别忘了,页面文件是系统关键文件,Windows XP运行时无法对其进行访问。所以对它进行碎片整理并不是一件容易的事情。我们有两种方案可以选择,一是安装Windows双系统,然后启动另外一个Windows对Windows XP所在的分区进行碎片整理。二是使用专门的工具软件,比如System File Defragmenter等。

内存不足、内存溢出的原因和解决方法?

相晴点击进入相晴点击进入相晴点击进入投我以木瓜,报之以琼琚。匪报也,永以为好也!投我以木桃,报之以琼瑶。匪报也,永以为好也!投我以木李,报之以琼玖。匪报也,永以为好也!Gsd – 烟尘排放量 ,kg ;B – 耗煤量,kg ;A – 煤中灰份含量,%;

内存溢出错误怎么解决

1.也许CD光盘脏.有划伤或是您的CD-ROM有问题,也许CD-ROM的激光头脏了,需要清洗。2.如果光驱里有光盘,请先取出,然后,开机按DEL进BIOS,恢复默认设置,或者手动更改硬盘为第一启动项,3.如果是安装虚拟机后,开机出现这个内存溢出报错,把虚拟机内存改大再看看.祝顺利!有问题,请追问.有帮助,望采纳.

内存溢出是什么意思?如何解决?

计算机中,溢出是什么意思?1。数据过大。 数据超过了预定类型的界限,就会出现的数据溢出。2。数据量过大。 如定义数组 Array[10], 而在调用时使用 Array[11]! 内存缓冲区就可能会溢出。溢出原因分析1。程序员经验不足。 导致内存溢出,程序错乱,甚至死机。2。程序员水平太高。 超范围操作内存,以达到不可告人的目的。解决方法最近安装了什么软件,卸载它。

内存溢出是什么意思啊?

就是说你开的东西太多或者说你的机器做的事情太多它处理不过来了

内存溢出和内存泄漏的区别,产生原因以及解决方案

一、概念与区别内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请 了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但 内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。 二、内存泄露 内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内 存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。一个 盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出!比方说栈,栈满时 再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足 以放下数据项序列,称为内存溢出. 以发生的方式来分类,内存泄漏可以分为4类: 1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。 2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对 于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。 3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发 生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。 4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内 存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及 时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。 从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏它更难被检测到 三、内存溢出内存溢出的原因以及解决方法引起内存溢出的原因有很多种,小编列举一下常见的有以下几种:1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;3.代码中存在死循环或循环产生过多重复的对象实体;4.使用的第三方软件中的BUG;5.启动参数内存值设定的过小内存溢出的解决方案:第一步,修改JVM启动参数,直接增加内存。(-Xms,-Xmx参数一定不要忘记加。)第二步,检查错误日志,查看“OutOfMemory”错误前是否有其它异常或错误。第三步,对代码进行走查和分析,找出可能发生内存溢出的位置。重点排查以下几点:1.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内 存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查 询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。2.检查代码中是否有死循环或递归调用。3.检查是否有大循环重复产生新对象实体。4.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内 存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查 询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。5.检查List、MAP等集合对象是否有使用完后,未清除的问题。List、MAP等集合对象会始终存有对对象的引用,使 得这些对象不能被GC回收。第四步,使用内存查看工具动态查看内存使用情况

内存溢出是什么意思电脑提示:内存溢出为什么

电脑内存溢出通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。此时软件或游戏就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件或游戏一段时间。再不行就重装电脑试试。
 首页 上一页  205 206 207 208 209 210 211 212 213 214 215  下一页  尾页