内存溢出,内存溢出是什么意思电脑提示内存溢出为什么
来源:整理 编辑:智能门户 2025-02-11 19:34:43
本文目录一览
1,内存溢出是什么意思电脑提示内存溢出为什么
电脑内存溢出通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。此时软件或游戏就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件或游戏一段时间。再不行就重装电脑试试。
2,出现内存溢出是怎么回事
方法很多,这告你三点 1、再加一根内存条; 2、把系统盘中没用的软件卸载; 3、动手设置: 我的电脑点右键属性-高级-设置-高级 把最大值改成你电脑内存的1.5倍内存溢出 我个人觉得只要是你的机子应用软件开太多了 倒置内存资源不足. 你再开同一个程序或别个程序 就会出现内存溢出 建议把机子注销一下就可以了
3,内存溢出是咋回事
内存溢出已经是软件开发历史上存在了近40年的“老大难”问题,象在“红色代码”病毒事件中表现的那样,它已经成为黑客攻击企业网络的“罪魁祸首”。 如在一个域中输入的数据超过了它的要求就会引发数据溢出问题,多余的数据就可以作为指令在计算机上运行。据有关安全小组称,操作系统中超过50%的安全漏洞都是由内存溢出引起的,其中大多数与微软的技术有关。 需要注意内存溢出和缓冲区溢出的区别 内存溢出是指系统内存全部被占用,没有可用内存分配给新启动的任务的情况,通常不会导致系统崩溃。 缓冲区溢出是指程序的缓冲区无限制的使用导致数据超出范围覆盖了其他程序的代码、数据等内容,如果被覆盖的内容是系统数据或代码就会导致系统崩溃
4,内存溢出该怎么办
你应该及时打上系统补丁.再装个杀毒软件和防火墙.时时升级! 内存溢出可能是病毒作怪,也有可能是程序错误. 让系统“飞”起来 读懂电脑虚拟内存常遇问题 内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放到原来的安装目录里了。 当系统运行时,先要将所需的指令和数据从外部存储器(如硬盘、软盘、光盘等)调入内存中,CPU再从内存中读取指令或数据进行运算,并将运算结果存入内存中,内存所起的作用就像一个“二传手”的作用。当运行一个程序需要大量数据、占用大量内存时,内存这个仓库就会被“塞满”,而在这个“仓库”中总有一部分暂时不用的数据占据着有限的空间,所以要将这部分“惰性”的数据“请”出去,以腾出地方给“活性”数据使用。这时就需要新建另一个后备“仓库”去存放“惰性”数据。由于硬盘的空间很大,所以微软Windows操作系统就将后备“仓库”的地址选在硬盘上,这个后备“仓库”就是虚拟内存。在默认情况下,虚拟内存是以名为Pagefile.sys的交换文件保存在硬盘的系统分区中。引起内存不足、内存溢出的 原因 有很多种,常见的有以下几种:1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.集合类中有对对象的引用,使用完后未清空,使得jvm不能回收;3.代码中存在死循环或循环产生过多重复的对象实体;4.使用的第三方软件中的bug;5.启动参数内存值设定的过小;如有驱动问题请咨询关注驱动人生内存溢出的解决方案 :第一步 ,修改jvm启动参数,直接增加内存。(-xms,-xmx参数一定不要忘记加。)第二步 ,检查错误日志,查看“outofmemory”错误前是否有其它异常或错误。第三步 ,对代码进行走查和分析,找出可能发生内存溢出的位置。重点排查以下几点:1.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。2.检查代码中是否有死循环或递归调用。3.检查是否有大循环重复产生新对象实体。4.检查对数据库查询中,是否有一次获得全部数据的查询。一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。5.检查list、map等集合对象是否有使用完后,未清除的问题。list、map等集合对象会始终存有对对象的引用,使得这些对象不能被gc回收。第四步 ,使用内存查看工具动态查看内存使用情况。如有驱动问题请咨询关注驱动人生
5,内存溢出的原因有哪些
溢出原因数据类型超过了计算机字长的界限就会出现数据溢出的情况。导致内存溢出问题的原因有很多,比如:(1) 使用非类型安全(non-type-safe)的语言如 C/C++ 等。(2) 以不可靠的方式存取或者复制内存缓冲区。(3)编译器设置的内存缓冲区太靠近关键数据结构。因素分析1.内存溢出问题是 C 语言或者 C++ 语言所固有的缺陷,它们既不检查数组边界,又不检查类型可靠性(type-safety)。众所周知,用 C/C++ 语言开发的程序由于目标代码非常接近机器内核,因而能够直接访问内存和寄存器,这种特性大大提升了 C/C++ 语言代码的性能。只要合理编码,C/C++应用程序在执行效率上必然优于其它高级语言。然而,C/C++ 语言导致内存溢出问题的可能性也要大许多。其他语言也存在内存溢出问题,但它往往不是程序员的失误,而是应用程序的运行时环境出错所致。2. 当应用程序读取用户(也可能是恶意攻击者)数据,试图复制到应用程序开辟的内存缓冲区中,却无法保证缓冲区的空间足够时(换言之,假设代码申请了 N 字节大小的内存缓冲区,随后又向其中复制超过 N 字节的数据)。内存缓冲区就可能会溢出。想一想,如果你向 12 盎司的玻璃杯中倒入 16 盎司水,那么多出来的 4 盎司水怎么办?当然会满到玻璃杯外面了!3. 最重要的是,C/C++编译器开辟的内存缓冲区常常邻近重要的数据结构。假设某个函数的堆栈紧接在在内存缓冲区后面时,其中保存的函数返回地址就会与内存缓冲区相邻。此时,恶意攻击者就可以向内存缓冲区复制大量数据,从而使得内存缓冲区溢出并覆盖原先保存于堆栈中的函数返回地址。这样,函数的返回地址就被攻击者换成了他指定的数值;一旦函数调用完毕,就会继续执行“函数返回地址”处的代码。非但如此,C++ 的某些其它数据结构,比如 v-table 、例外事件处理程序、函数指针等,也可能受到类似的攻击。android中常有的内存溢出原因一,大量位图的加载 有时候我们需要从网络上获取大量的图片并且展现在view中,但是如果图片较大,一次性加载大量bitamap,那么程序可用内存会瞬间增长,引起oom,通常的解决方法是开始不加载位图,设置bitmapfactory.options的injustdecodebounds为true,先获取到宽高,这时候位图并不会加载到内存中,然后计算缩放比例再加载位图适应view控件,这样可以避免oom的产生二, bitmap对象不在使用时调用recycle()释放内存 有时我们会手工的操作bitmap对象,如果一个bitmap对象比较占内存,当它不在被使用的时候,可以调用bitmap.recycle()方法回收此对象的像素所占用的内存,但这不是必须的,视情况而定。三, 查询数据库没有关闭游标 程序中经常会进行查询数据库的操作,但是经常会有使用完毕cursor后没有关闭的情况。如果我们的查询结果集比较小,对内存的消耗不容易被发现,只有在常时间大量操作的情况下才会复现内存问题,这样就会给以后的测试和问题排查带来困难和风险。四,构造adapter时,没有使用缓存的 convertview 以构造listview的baseadapter为例,在baseadapter中提高了方法:public view getview(int position, view convertview, viewgroup parent)来 向listview提供每一个item所需要的view对象。初始时listview会从baseadapter中根据当前的屏幕布局实例化一定数量的 view对象,同时listview会将这些view对象缓存起来。当向上滚动listview时,原先位于最上面的list item的view对象会被回收,然后被用来构造新出现的最下面的list item。这个构造过程就是由getview()方法完成的,getview()的第二个形参 view convertview就是被缓存起来的list item的view对象(初始化时缓存中没有view对象则convertview是null)。如果我们不去使用convertview,而是每次都在getview()中重新实例化一个view对象的话,即浪费资源也浪费时间,也会使得内存占用越来越大。
6,内存外溢是什么意思啊
系统提示“内存不足”的九大原因及解决方法 一、剪贴板占用了太多的内存 实际上,剪贴板是内存中的一块临时区域,当你在程序中使用了“复制”或“剪切”命令后,Windows将把复制或剪切的内容及其格式等信息暂时存储在剪贴板上,以供“粘贴”使用。如果当前剪贴板中存放的是一幅图画,则剪贴板就占用了不少的内存。这时,请按下述步骤清除剪贴板中的内容,释放其占用的内存资源: 1.单击“开始”,指向“程序”或“所有程序”,指向“附件”,指向“系统工具”,然后单击“剪贴板查看程序”,打开“剪贴板查看程序”窗口。2.在“编辑”菜单上,单击“删除”命令。3.关闭“剪贴板查看程序”窗口。 为了与Microsoft Office程序提供的多重剪贴板相区分,上述所说的剪贴板,常被我们称为系统剪贴板。如果你正在使用Micros OftOffice程序,而且使用了其多重剪贴板功能,那么你应清空“Office剪贴板”上的项目,方法是:在“Office剪贴板”任务窗格(OfficeXP)或工具栏(Office2000)上,单击“全部清空”或“清空剪贴板”。当清空“Office剪贴板”时,系统剪贴板也将同时被清空。 二、打开的程序太多 如果同时打开的文档过多或者运行的程序过多,就没有足够的内存运行其他程序。这时,对于多文档界面(MDl)程序,如Word、Excel等,请关闭当前文档外的所有文档,并退出当前未使用的程序,然后或许你就能够继续执行因“内存不足”而被中断的任务。 三、重新启动计算机 如果只退出程序,并不重新启动计算机,程序可能无法将内存资源归还给系统。请重新启动计算机以释放系统资源,然后再次运行程序或执行被中断的任务。 四、自动运行的程序太多 如果在启动Windows时自动运行的程序太多,那么,即使重新启动计算机,也没足够的内存用来运行其它程序。 (一)确定设置为自动运行的程序是否太多 1.单击“开始”,然后单击“运行”。 2.在“打开”框中,键入“Msconfig”,单击“确定”按钮,打开“系统配置实用程序”窗口。 3.单击“常规”选项卡,选中“选择性启动”复选钮,清除“处理Win.ini文件”复选框和“加载启动组项目”复选框。 4.单击“确定”按钮,当系统提示重新启动计算机时,请单击“是”按钮。 重新启动电脑后,如果内存不足的问题已经解决,你就可以将计算机配置为启动时不打开任何程序。 (二)配置计算机不自动打开任何程序 1.恢复在Msconfig中所作的更改,方法是:在“系统配置实用程序”窗口,单击“常规”选项卡,选择“正常启动”,单击“确定”按钮,然后重新启动计算机。 2.删除“启动”文件夹中的所有快捷方式 ①单击“开始”,指向“设置”,然后单击“任务栏和开始菜单”,系统弹出“任务栏属性”对话框。 ②单击“开始菜单程序”选项卡,单击“删除”按钮。 ③单击“启动”文件夹旁的加号,以显示设置为自动运行的程序列表。如果“启动”文件夹旁没有加号“+”,则表明没有设置为自动运行的程序,请单击“关闭”按钮以终止此过程。 ④单击“启动”文件夹中的每个快捷方式,然后单击“删除”按钮。此操作将从“开始”菜单中删除快捷方式,但并不从硬盘中删除相应的程序。对于“启动”文件夹中的每个快捷方式,重复该步骤。 ⑤单击“关闭”按钮。 ⑥单击“确定”按钮。 3.禁用从Win.ini文件加载的所有程序 ①如上所述打开“系统配置实用程序”窗口。 ②单击“Win.ini”选项卡,双击“[windows]”,然后清除“Load=”和“Run=”复选框。 ③单击“确定”按钮,当系统提示重新启动计算机时,请单击“是”按钮。 五、让Windows管理虚拟内存设置 如果没有设置让Windows管理虚拟内存或者禁用虚拟内存,那么计算机可能无法正常工作,也可能收到“内存不足”的消息,或在运行某程序时出现相同的错误消息。 1.单击“开始”,单击“设置”,单击“控制面板”,然后双击“系统”。 2.在“系统属性”对话框中,单击“性能”选项卡,然后单击“虚拟内存”按钮。 3.选中“让Windows管理虚拟内存设置—(推荐)”选项,将计算机中可作为虚拟内存使用的硬盘空间量设置为默认值。此时,虚拟内存分页“win386.swp”能够根据实际内存的使用情况动态缩小和放大,最小容量为0,最大容量为硬盘的全部可用空间。 4.单击“确定”按钮。 六、增加可用磁盘空间 由于Windows以虚拟内存分页文件的格式使用硬盘空间以模拟RAM(),所以,尽管已设置为让Windows管理虚拟内存,但是当虚拟内存分页文件所在的驱动器(默认为Windows系统所在的硬盘分区)没有足够的空间时,仍会出现“内存不足”的错误。此时,请执行以下一项或多项操作,增加Windows虚拟内存分页文件所在驱动器上的可用空间: 1.清空回收站,方法是:在桌面上,右键单击“回收站”,再单击“清空回收站”。 2.从磁盘中删除临时文件,方法是:打开“Windows资源管理器”或“我的电脑”窗口,右键单击要释放其空间的磁盘,然后单击“属性”,在“常规”选项卡上,单击“磁盘清理”按钮,选中要删除的不需要的文件前的复选框(如图3),可以阅读列表下面区域中每个文件类型的说明,单击“确定”按钮。 3.从磁盘中删除过期的文件或已存档的文件。 4.删除从未使用过的所有文件。 七、程序文件被毁坏 如果仅仅是使用某个程序时,系统提示内存不足,而其他程序可以正常运行,那么可能的原因是该程序文件被毁坏,从而导致内存问题。然而Windows并没有确切地提示表明该程序已损坏,所以请尝试删除并重新安装该程序,然后重新运行该程序。如果系统不再提示内存不足,那么说明原程序文件确实被损坏。 八、使用内存优化软件 内存优化软件有很多,比如RAM Idle和Memo Kit就是比较出色的两个。这些软件都可以设置自动清空剪贴板、释放被关闭程序未释放的内存、对Win386.swp文件进行重新组织等,从而免除你手工操作的麻烦,达到自动释放内存的目的,不妨一试! 九、查杀病毒 系统感染电脑病毒也是导致内存不足的罪魁祸首,当系统出现“内存不足”的错误时,请使用最新的防毒软件查杀病毒,或者在清除电脑病毒之后,就解决了“内存不足”的问题。参考资料:http://bbs.inpce.com/dispbbs.asp?boardid=3&id=2072&star=1&page=1内存溢出已经是软件开发历史上存在了近40年的“老大难”问题,象在“红色代码”病毒事件中表现的那样,它已经成为黑客攻击企业网络的“罪魁祸首”。 如在一个域中输入的数据超过了它的要求就会引发数据溢出问题,多余的数据就可以作为指令在计算机上运行。据有关安全小组称,操作系统中超过50%的安全漏洞都是由内存溢出引起的,其中大多数与微软的技术有关。 参考资料:http://www.xiaoi.com/browsedetail.do?qid=124418也就是内存不足。 系统提示“内存不足”的九大原因及解决方法 一、剪贴板占用了太多的内存 实际上,剪贴板是内存中的一块临时区域,当你在程序中使用了“复制”或“剪切”命令后,Windows将把复制或剪切的内容及其格式等信息暂时存储在剪贴板上,以供“粘贴”使用。如果当前剪贴板中存放的是一幅图画,则剪贴板就占用了不少的内存。这时,请按下述步骤清除剪贴板中的内容,释放其占用的内存资源: 1.单击“开始”,指向“程序”或“所有程序”,指向“附件”,指向“系统工具”,然后单击“剪贴板查看程序”,打开“剪贴板查看程序”窗口。2.在“编辑”菜单上,单击“删除”命令。3.关闭“剪贴板查看程序”窗口。 为了与Microsoft Office程序提供的多重剪贴板相区分,上述所说的剪贴板,常被我们称为系统剪贴板。如果你正在使用Micros OftOffice程序,而且使用了其多重剪贴板功能,那么你应清空“Office剪贴板”上的项目,方法是:在“Office剪贴板”任务窗格(OfficeXP)或工具栏(Office2000)上,单击“全部清空”或“清空剪贴板”。当清空“Office剪贴板”时,系统剪贴板也将同时被清空。 二、打开的程序太多 如果同时打开的文档过多或者运行的程序过多,就没有足够的内存运行其他程序。这时,对于多文档界面(MDl)程序,如Word、Excel等,请关闭当前文档外的所有文档,并退出当前未使用的程序,然后或许你就能够继续执行因“内存不足”而被中断的任务。 三、重新启动计算机 如果只退出程序,并不重新启动计算机,程序可能无法将内存资源归还给系统。请重新启动计算机以释放系统资源,然后再次运行程序或执行被中断的任务。 四、自动运行的程序太多 如果在启动Windows时自动运行的程序太多,那么,即使重新启动计算机,也没足够的内存用来运行其它程序。 (一)确定设置为自动运行的程序是否太多 1.单击“开始”,然后单击“运行”。 2.在“打开”框中,键入“Msconfig”,单击“确定”按钮,打开“系统配置实用程序”窗口。 3.单击“常规”选项卡,选中“选择性启动”复选钮,清除“处理Win.ini文件”复选框和“加载启动组项目”复选框。 4.单击“确定”按钮,当系统提示重新启动计算机时,请单击“是”按钮。 重新启动电脑后,如果内存不足的问题已经解决,你就可以将计算机配置为启动时不打开任何程序。 (二)配置计算机不自动打开任何程序 1.恢复在Msconfig中所作的更改,方法是:在“系统配置实用程序”窗口,单击“常规”选项卡,选择“正常启动”,单击“确定”按钮,然后重新启动计算机。 2.删除“启动”文件夹中的所有快捷方式 ①单击“开始”,指向“设置”,然后单击“任务栏和开始菜单”,系统弹出“任务栏属性”对话框。 ②单击“开始菜单程序”选项卡,单击“删除”按钮。 ③单击“启动”文件夹旁的加号,以显示设置为自动运行的程序列表。如果“启动”文件夹旁没有加号“+”,则表明没有设置为自动运行的程序,请单击“关闭”按钮以终止此过程。 ④单击“启动”文件夹中的每个快捷方式,然后单击“删除”按钮。此操作将从“开始”菜单中删除快捷方式,但并不从硬盘中删除相应的程序。对于“启动”文件夹中的每个快捷方式,重复该步骤。 ⑤单击“关闭”按钮。 ⑥单击“确定”按钮。 3.禁用从Win.ini文件加载的所有程序 ①如上所述打开“系统配置实用程序”窗口。 ②单击“Win.ini”选项卡,双击“[windows]”,然后清除“Load=”和“Run=”复选框。 ③单击“确定”按钮,当系统提示重新启动计算机时,请单击“是”按钮。 五、让Windows管理虚拟内存设置 如果没有设置让Windows管理虚拟内存或者禁用虚拟内存,那么计算机可能无法正常工作,也可能收到“内存不足”的消息,或在运行某程序时出现相同的错误消息。 1.单击“开始”,单击“设置”,单击“控制面板”,然后双击“系统”。 2.在“系统属性”对话框中,单击“性能”选项卡,然后单击“虚拟内存”按钮。 3.选中“让Windows管理虚拟内存设置—(推荐)”选项,将计算机中可作为虚拟内存使用的硬盘空间量设置为默认值。此时,虚拟内存分页“win386.swp”能够根据实际内存的使用情况动态缩小和放大,最小容量为0,最大容量为硬盘的全部可用空间。 4.单击“确定”按钮。 六、增加可用磁盘空间 由于Windows以虚拟内存分页文件的格式使用硬盘空间以模拟RAM(),所以,尽管已设置为让Windows管理虚拟内存,但是当虚拟内存分页文件所在的驱动器(默认为Windows系统所在的硬盘分区)没有足够的空间时,仍会出现“内存不足”的错误。此时,请执行以下一项或多项操作,增加Windows虚拟内存分页文件所在驱动器上的可用空间: 1.清空回收站,方法是:在桌面上,右键单击“回收站”,再单击“清空回收站”。 2.从磁盘中删除临时文件,方法是:打开“Windows资源管理器”或“我的电脑”窗口,右键单击要释放其空间的磁盘,然后单击“属性”,在“常规”选项卡上,单击“磁盘清理”按钮,选中要删除的不需要的文件前的复选框(如图3),可以阅读列表下面区域中每个文件类型的说明,单击“确定”按钮。 3.从磁盘中删除过期的文件或已存档的文件。 4.删除从未使用过的所有文件。 七、程序文件被毁坏 如果仅仅是使用某个程序时,系统提示内存不足,而其他程序可以正常运行,那么可能的原因是该程序文件被毁坏,从而导致内存问题。然而Windows并没有确切地提示表明该程序已损坏,所以请尝试删除并重新安装该程序,然后重新运行该程序。如果系统不再提示内存不足,那么说明原程序文件确实被损坏。 八、使用内存优化软件 内存优化软件有很多,比如RAM Idle和Memo Kit就是比较出色的两个。这些软件都可以设置自动清空剪贴板、释放被关闭程序未释放的内存、对Win386.swp文件进行重新组织等,从而免除你手工操作的麻烦,达到自动释放内存的目的,不妨一试! 九、查杀病毒 系统感染电脑病毒也是导致内存不足的罪魁祸首,当系统出现“内存不足”的错误时,请使用最新的防毒软件查杀病毒,或者在清除电脑病毒之后,就解决了“内存不足”的问题
文章TAG:
内存 内存溢出 溢出 是什么 内存溢出
大家都在看
-
自学电气自动化好吗女生,电气自动化专业对女生有什么影响?
2023-12-20
-
自动化压型设备,非标准自动化设备
2024-01-18
-
博野县自动化公司,上海博野工业自动化违约
2024-02-08
-
电气自动化平均分75,2021电气自动化
2024-02-24
-
惠州自动化设备pcb厂家,使用自动化设备完成pcb板
2024-02-25
-
泸州工业机器人自动化公司,合肥工业机器人自动化公司
2024-03-04
-
电气工程自动化国考省考,电气工程及其自动化国家考试
2024-04-05
-
电气自动化安装教学视频,三管车轮电气自动化教学视频
2024-04-22
-
潍坊自动化控制设备,鹏飞自动化控制设备潍坊
2024-04-24
-
生铁和铸铁的区别,铸铁生铁和熟铁的区别
2024-06-12
-
电气自动化值得专升本吗,河南电气自动化专升本考什么科目
2024-07-15
-
非标自动化设备小程序,非标自动化设备有哪些?
2024-08-07
-
浙江外观自动化检测设备有限公司,
2024-12-14
-
袁世杰,袁建辉袁晓宇袁鹏飞袁世杰袁孟
2025-02-03
-
电脑清空所有数据,旧电脑怎么格式化清除所有数据?
2025-02-05