什么叫电脑内存溢出(电脑内存溢出是什么意思) 浏览:545

1. 电脑内存溢出是什么意思

电脑内存溢出通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。

此时软件或游戏就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件或游戏一段时间。再不行就重装电脑试试。

2. 电脑性能溢出什么意思

谢邀。

1. 堆溢出和栈溢出都有,不过两者没有关联,一次攻击可以是只有堆溢出也可以只有栈溢出,或者同时,不过大部分情况下一种就足以完成目标了。

2.以栈溢出为例子,我们知道程序的栈里面是

有返回上一层子程序的目标地址

的(我记得之前回答你问题的时候提到过所以你应该是知道的),所以在栈里放上一些代码,然后把上面提到的这个地址覆盖成一个存着类似于指令的地址,当子程序尝试返回的时候就会被我们引导(劫持)到这句指令上,从而跳进栈里继续执行,执行"我们"的恶意代码。这种存着类似 的地址通常来说在一些系统模块中存在,比如说在xp时代,有一个经典的地址,你现在也能在网上搜到相关信息,这里面就刚好是这句,只要把返回地址覆盖成这个,最终就会执行到栈里。

当然在现时代的操作系统中,堆栈已经不让执行代码了,系统中的地址也都随机化了,进行溢出的难度也今非昔比,上面说的只是一个例子,现在的溢出已经远不能这么简单了。不过魔高一丈,毕竟补丁总是出事了才有,所以仍然有一些技术去绕过这些安全措施,比如说ROP链之类的。

至于所谓已经攻入对方电脑,不是这样的。通常来说这种溢出都是出在一些意想不到的地方的,比如说我构造了一个利用你浏览器图片解析漏洞的图片,这个图片有恶意构造的数据会导致溢出,你只要打开我的网站并且是对应的浏览器,浏览器把这张图存进栈变量,然后因为特殊构造你的栈返回地址就被超长溢出的图片盖住了,然后图片的另一部分是恶意代码,下略…… 同理还有如果某个网站服务器有漏洞,你发一个特殊构造的帖子,他向数据库存储的时候被溢出,下略…… 比如说某个版本的操作系统解析exe图标有漏洞,当你在桌面上看到这个exe的图标的时候,下略……

3.如果你问的是怎么用这种地址覆盖返回区,如果分析清楚了目标程序的流程,其实是能知道覆盖多长能盖住的,实在不行就写一大堆总有一个能盖住。

至于要溢出多少才能被jmp跳到这个问题,栈溢出的话在栈里放代码然后就得了。也有一些野路子比如说构造巨量的无用指令比如说也就是 然后在后面跟上恶意代码,巨量到占用了进程大部分内存,那么无论被跳到哪里基本上都能被接住,然后执行完这大量的nop就跑到恶意代码了。这种情况有一种类似的操作叫堆喷射,可以搜一下。

3. 内存溢出是什么原因

引起内存溢出的原因有很多种,常见的有以下几种: 内存中加载的数据量过于庞大,如一次从数据库取出过多数据;

集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;

代码中存在死循环或循环产生过多重复的对象实体;

使用的第三方软件中的BUG; 启动参数设定的过小。

4. 常见的内存溢出

假如设定一个变量为整数时,程序会向作业系统要求4个字节(32bits)来存放资料,其可存放的范围为-32768 ~ +32767,当数值超过这个范围时,因内存空间已固定为32bits,无法再增加,在C语言里只取32bits,就会造成溢出

5. 电脑内存溢出会怎么样

数据类型超过了计算机字长的界限就会出现数据溢出的情况。导致内存溢出问题的原因有很多,比如:

  (1) 使用非类型安全(non-type-safe)的语言如 C/C++ 等。  

  (2) 以不可靠的方式存取或者复制内存缓冲区。  

  (3) 编译器 设置的内存缓冲区太靠近关键数据结构 。

6. 电脑内存溢出是什么意思呀

溢出是黑客利用操作系统的漏洞,专门开发了一种程序,加相应的参数运行后,就可以得到你电脑具有管理员资格的控制权,你在你自己电脑上能够运行的东西他可以全部做到,等于你的电脑就是他的了。溢出是程序设计者设计时的不足所带来的错误。

7. 显存溢出是什么意思

以下一切基于家用条件(日常使用,游戏等等),专业渲染、制图、机器学习等等不提。

显存容量是一个显卡中比较次要的指标。正如一台电脑的内存不是这台电脑最关键的指标,cpu才是。同样,一张显卡的核心是它负责计算的部分,gpu。

gpu的性能增强,显卡的性能就增强,而显存容量则不然,它只有“够用”和“不够用”两种状况。当显存容量不是瓶颈的情况下,比如这个游戏就是只用到4g的显存,那么6g 和60g的显存容量在性能上没有任何区别的。而显存如果是瓶颈了,比如只有3g显存,那么确实会比较明显的影响到显卡的表现。

多少的显存是“够用”?理论上说,你可以开更高的分辨率,开更高的特效,总之有多少显存也都能占用掉啊?这就有一点,gpu的计算能力极限决定了它最多能吃多少的显存,就像你的工厂每年才生产100吨货物,却要个仓储1000吨的仓库,你十年生产全不卖才能填满,那有什么用?一个游戏开到4k分辨率最高画质,100帧的情况下要用掉10g的显存,问题是你的1050ti只能卡成幻灯片跑个5帧,就算给你10g显存也没有卵用。这个活只有2080ti来干,而2080ti可不就是有12g的显存么?

所以一般来说,你买到的显卡显存基本都是够用的,低端有很多时候是显存溢出的,比如1050 4g这种基本上就用不了4g,而当年著名的坑爹货GT610 2g,被戏称为疯牛病,在当年的中高端显卡普遍是1g乃至512m的情况下一个入门级的亮机卡给2g显存,成为后面淘宝商家出来各种“大显存=性能强”忽悠人的开端始祖。题主可能多少也受这个影响。

当然1063这种为了市场差异化着重阉割了显存的产品,确实有遇到显存不够的时候,严重影响性能发挥。不过无论如何,比1050ti要强很多的,毕竟gpu本身的差距更大。而588和1066的这2g差距就没什么了,因为这个档次6g基本够用。如果世上有一款580 6g显卡,和588并不会有明显区别。

8. 什么情况内存溢出

内存溢出的话,很有可能会对设备或者是。硬盘造成损害。

9. 电脑内存溢出是什么意思啊

数据溢出

在计算机中,当要表示的数据超出计算机所使用的数据的表示范围时,则产生数据的溢出。

溢出原因

数据类型超过了计算机字长的界限就会出现数据溢出的情况。导致内存溢出问题的原因有很多,比如:

(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 、例外事件处理程序、函数指针等,也可能受到类似的攻击。

10. 电脑显示内存溢出是什么意思

复印件恢复出厂设置就可以了内存溢出(outofmemory)通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。

此时软件或游戏就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件或游戏一段时间。

推荐文章1
广告