内存管理机制(电脑最近运行一些程序内存会瞬间占用到98%左右,平常顶多45%,这是什么原因)
本文目录
- 电脑最近运行一些程序内存会瞬间占用到98%左右,平常顶多45%,这是什么原因
- 为什么Mac OS X对内存的需求远远多于Windows
- 为什么苹果1G或2G的运行内存都比安卓的4G或6G运存还要流畅
- 为什么苹果手机没有运行内存
- 为什么说Python采用的是基于值的内存管理模式
- 为什么同一个系统,6G运存剩2到3G12G运存剩5到6G
- 为什么我买的手机是6GB运行内存,清空后台所有应用却显示只有不到3GB内存
- 小米10pro8g和12g运行内存差距大吗,8g够用吗
- 买手机时,为啥懂手机的人建议我们买8G的内存,而不是6G
电脑最近运行一些程序内存会瞬间占用到98%左右,平常顶多45%,这是什么原因
内存瞬间占用到98%,一般肯定后台有程序在大量读写硬盘!导致占用大量内存!首先不管他是在干什么!内存被占用很多,肯定是有程序在运行,也许不是你自己开启的软件或其他程序!
但是,肯定是有程序在后台运行搞鬼!具体的,你看能不能打开任务管理器!看看是哪个程序在搞鬼!然后,你可以结束运行!这样内存就被释放了!当然,你也可以查看一下这个到底是啥程序,具体的文件位置在哪!都可以查看他的属性!如果下次还出现这种情况,那你就要认真对待这个程序了!
如果,你内存占用到98%,卡的,任务管理器都打不开了!那你只有先重启电脑在查看!总之,一般电脑内存,在闲置或工作时!一般内存占用到98%都是不正常的!必须找出问题的根本问题!
如果你找到未知的程序后,并确定他不是系统的程序!也不是软件的程序!而且,经常自己启动!那你可以找到他原文件位置!然后删除他!我就经常这么干!或者,用安全管理软件扫描电脑!
为什么Mac OS X对内存的需求远远多于Windows
你这个首先就不是在同等条件下的公平比较的最终用户结果,本质上你这种说法就是非常不准确的,为什么这么说?
第一,macOS和Windows的内存管理机制不同
当然不是说哪一个比哪一个先进,不能说macOS(基于Unix)的内存管理机制就比较先进,而Windows的内存管理机制就比较落后,只是两者在技术决策方面存在着一定的差异而已,就好比说Unix整个架构体系都是everything is a file,但Windows就不是。
macOS是内存最大化的使用,尽可能高的发挥性能,这时候你会发现在你的Mac上,8G内存好像也快用完了,但是转手到16G内存的机器好像也使用完了。但是比如你现在基础上,感觉内存已经爆了,但是你再开几个应用,但你会发现你的内存还是够用的。反过来你在Windows上试试,爆了就真的爆了,为什么有的第三方优化软件会让你点加速球,你是不是看到红色就要去点一下加速小火箭优化一下内存?
macOS的内存使用情况分为wired、active、inactive、free四种不同的状态,其中wired是系统核心占用,不会在物理内存中消失;active代表这些内存正在被使用、或者说刚刚被使用;inactive表示内存中的数据是有效的,但最近没有被使用;free代表内存中数据是无效的,这些内存空间就是随时都可以被使用的。当free的值地域某个值的时候,系统会按照顺序使用inactive的资源,通过一定的规则转变成free就可以继续使用,active的资源如果长时间没被使用,则转化为inactive状态,形成良性循环。但是在Windows里面其实inactive这部分也是当成了free在使用的,所以说你会感觉win的内存更多。
举个通俗的例子,macOS不管你用不用,先给你这么多再说,然后其他人要用你再还回来,但是windows不一样,我用多少拿多少,这就是两者在定义上的不同,已经在内存管理上的不同,这是内存管理机制上的差异而引起的,如果物理内存真的不够用了,不管macOS还是windows都一样。当然Windows有内存压缩,但是macOS也有啊。
第二点,你不能用3000的4G的Windows PC来作为佐证
MacBook(Pro)目前的起价摆在这里,你不能说只有4G内存的3000的Windows PC是有这样的电脑,而MacBook现在最低的机器8G,这样比较本身就是耍流氓。
MacBook目前起价是多少?Windows机器有4G的只是代表有这样的需求,但是MacBook定价高不代表就一定做不出来4G的本子。就好比iOS和Android一样,iPhone的硬件看上去配置远远要比Android的机器配置低,你各大厂商走一圈,现在Windows阵营8G内存的机器照样一大堆。
第三点,你装个Windows7,装个Photoshop早期版本比最新的macOS不厚道吧
就如你所说,你现在还用着windows7的电脑,谁知道你Photoshop是不是也是用得老版本,这样比较不厚道吧。
上次有个小伙伴用Windows XP跟macOS Mojave比内存消耗,说实话我当时反手就像一巴掌扇过去,这样比较有意义?用很多年前的标准来要求现在最新的平台,这本身就不合理,所以这本身就不合理。
随着技术的进步,Mac对于陈旧技术的淘汰很显然要快得多,举个例子现在用macOS的,基本上都是第一时间更新到最新版本,但是这么多年过去了,还有人在用用了近20年的Windows XP,但是windows为了兼容老旧的硬件,甚至一些特定场合的特殊需求,又不得不做这些像旧的硬件、更低的硬件妥协,但是苹果很少需要做这样的妥协。
macOS的生态更纯粹,但是windows的生态乱七八糟,这是微软有时候必须考虑的,这一点跟iOS和Android的差异是一样的。
因此,这个问题根本就是个伪命题!
为什么苹果1G或2G的运行内存都比安卓的4G或6G运存还要流畅
这个问题问得非常好,这其实是很多人的疑问,我给大家解释一下吧!
先讲一下苹果手机的优点吧,苹果手机最大的优点就是安全隐私服务工作到位,与其说我们买的是苹果手机,不如说我们买的是IOS系统,与其说我们买的是系统,倒不如说我们买的是服务。
这个服务是什么呢?说白啦就是安全隐私服务,那什么叫安全隐私服务呢?通俗讲就是阻止询问有企图的信息收集,保护用户。我这样说可能有网友还是听不明白,举个例子说,我们在使用苹果手机的时候,尤其是在使用本地网络时,广告投放者他会想方设法投放广告,对我们实施骚扰,这些广告投放者如何获取我们的信息的呢?他们通过本地网络,读取扫描设备使用习惯,对用户实施精准定位,进行精准骚扰!
但我们的苹果手机升级到IOS14以后,这种骚扰局面发生了改变,这个广告骚扰再次进入本地网络时,有个本地网络询问开关,未经机主用户本人同意,这些流氓软件无法进入本地网络进行扫描,从而无法侦测用户设备信息,无法精准定位,也就无法骚扰啦!
当然苹果手机在隐私安全方面的工作远远不止这些,例如剪切板弹窗提醒功能,这个功能就是打小报告功能,哪个流氓坏蛋软件在剪切板搞小动作,弹窗立马提醒用户!还有模糊定位功能,例如跑腿、外卖软件要想对我们精准定位,那没门,我们可以把这些软件的精准定位给关掉,让它变成模糊定位!还有软件跟踪授权功能,都是针对流氓坏软件的,因为流氓坏蛋软件是影响手机流畅快慢的罪魁祸首,为什么这么讲呢?
我们来打个比方,把1G或2G运行的苹果手机比喻成私家车,把4G或6G运行的安卓手机比喻成公交车。公交车4G或6G,说起来公交车发动机马力大、跑得快、拉得人也多,苹果手机1G或2G,说起来私家车发动机马力小,跑得慢,拉得人也少!请大家注意一个细节,私家车服务好,专为主人服务,凡事都向主人询问请示,路上有人招手上车,主人觉得这个乘客像坏蛋流氓,主人可以拒载,私家车虽然马力小,跑得慢,但人家中途不受流氓坏蛋乘客的干扰,中途不停车,同等距离同等时间一段旅程,比较之下,私家车先到达目的地,也就显得私家车速度快,这也像征了苹果手机的安全忠贞服务性!
而公交车就不同啦,走走停停,它才不管你是人是鬼,好人坏人不重要,招手就停,给钱就上,一辆公交车上充满了各种流氓坏蛋,这些坏蛋流氓就好比安卓手机里面的垃圾软件,他们各怀鬼胎,有小偷呀,变态性骚扰的呀,骗子呀等,当公交车上的坏人越来越多时,他们在公交车上捣乱,影响公交车正常行驶,这时公交车司机会干预,但为时已晚,这时已经无法控制局面啦,因为这些流氓坏蛋会互相勾结,联合起来甚至挷架劫持司机,让公交车停止运行,这就像安卓手机里面的流氓软件一样,数量一多,它们之间具有换醒功能,后台机主无法控制,手机出现卡顿不流畅现像,从而导致手机死机,停止运行,这样一来同等距离同等时间的一段旅程,公交车慢!这也反映出安卓手机不忠贞的事实!
这也就是苹果与安卓不同之处,大家明白了吗?
为什么苹果手机没有运行内存
苹果手机和安卓手机以及电脑一样都需要运行内存,比如电脑的运行内存也就是内存条,拔下来之后,电脑是无法启动的。那么问题来了,为什么商家会把电脑或者安卓手机的运行内存作为重要参数标榜出来,而苹果手机却很少展示运行内存呢?
这主要和苹果手机特有的IOS系统有关。IOS系统有着一套与安卓完全不同的内存管理机制。IOS可以根据自己的需要合理分配内存使用,在后台运行的应用程序都将被置于休眠状态,只有当用户打开它们时才会真正重新启动,所以很节省内存。而安卓后台程序是会常驻内存的,所以需要更大内存才能保证系统不卡顿。即使是较新的 iPhone 版本(如iPhone 13 )也只需要 4GB 的 运行内存即可轻松击败具有 8GB甚至12GB 的安卓手机。
其次苹果对第三方app的管控也非常严格。苹果用户只能通过AppStore来下载安装app。而想要上架AppStore就必须严格按照苹果的标准来开发软件,以配合苹果的内存管理机制。而安卓手机没有这种机制,各种app鱼龙混杂,app优化不好,就会消耗更多的系统资源和内存空间。
总的来说,苹果手机肯定是有运行内存的,只不过相对较小。并且苹果手机的整体性能对运行内存的依赖程度相对不是很高,商家在宣传时也就不作为主要参数展示。
为什么说Python采用的是基于值的内存管理模式
先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲
(1)垃圾回收
(2)引用计数
(3)内存池机制
一、垃圾回收:
python不像C++,Java等语言一样,他们可以不用事先声明变量类型而直接对变量进行赋值。对Python语言来讲,对象的类型和内存都是
在运行时确定的。这也是为什么我们称Python语言为动态类型的原因(这里我们把动态类型可以简单的归结为对变量内存地址的分配是在运行时自动判断变量
类型并对变量进行赋值)。
二、引用计数:
Python采用了类似Windows内核对象一样的方式来对内存进行管理。每一个对象,都维护这一个对指向该对对象的引用的计数。如图所示(图片来自Python核心编程)
x = 3.14
y = x
我们首先创建了一个对象3.14, 然后将这个浮点数对象的引用赋值给x,因为x是第一个引用,因此,这个浮点数对象的引用计数为1. 语句y =
x创建了一个指向同一个对象的引用别名y,我们发现,并没有为Y创建一个新的对象,而是将Y也指向了x指向的浮点数对象,使其引用计数为2.
我们可以很容易就证明上述的观点:
变量a 和 变量b的id一致(我们可以将id值想象为C中变量的指针).
我们援引另一个网址的图片来说明问题:对于C语言来讲,我们创建一个变量A时就会为为该变量申请一个内存空间,并将变量值
放入该空间中,当将该变量赋给另一变量B时会为B申请一个新的内存空间,并将变量值放入到B的内存空间中,这也是为什么A和B的指针不一致的原因。如图:
而Python的情况却不一样,实际上,Python的处理方式和Javascript有点类似,如图所示,变量更像是附在对象上的标签(和引用的
定义类似)。当变量被绑定在一个对象上的时候,该变量的引用计数就是1,(还有另外一些情况也会导致变量引用计数的增加),系统会自动维护这些标签,并定
时扫描,当某标签的引用计数变为0的时候,该对就会被回收。
三、内存池机制
Python的内存机制以金字塔行,-1,-2层主要有操作系统进行操作,
第0层是C中的malloc,free等内存分配和释放函数进行操作;
第1层和第2层是内存池,有Python的接口函数PyMem_Malloc函数实现,当对象小于256K时有该层直接分配内存;
第3层是最上层,也就是我们对Python对象的直接操作;
在 C 中如果频繁的调用 malloc 与 free 时,是会产生性能问题的.再加上频繁的分配与释放小块的内存会产生内存碎片. Python 在这里主要干的工作有:
如果请求分配的内存在1~256字节之间就使用自己的内存管理系统,否则直接使用 malloc.
这里还是会调用 malloc 分配内存,但每次会分配一块大小为256k的大块内存.
经由内存池登记的内存到最后还是会回收到内存池,并不会调用 C 的 free
释放掉.以便下次使用.对于简单的Python对象,例如数值、字符串,元组(tuple不允许被更改)采用的是复制的方式(深拷贝?),也就是说当将另
一个变量B赋值给变量A时,虽然A和B的内存空间仍然相同,但当A的值发生变化时,会重新给A分配空间,A和B的地址变得不再相同;
而对于像字典(dict),列表(List)等,改变一个就会引起另一个的改变,也称之为浅拷贝:
附录:
引用计数增加
1.对象被创建:x=4
2.另外的别人被创建:y=x
3.被作为参数传递给函数:foo(x)
4.作为容器对象的一个元素:a=
引用计数减少
1.一个本地引用离开了它的作用域。比如上面的foo(x)函数结束时,x指向的对象引用减1。
2.对象的别名被显式的销毁:del x ;或者del y
3.对象的一个别名被赋值给其他对象:x=789
4.对象从一个窗口对象中移除:myList.remove(x)
5.窗口对象本身被销毁:del myList,或者窗口对象本身离开了作用域。
垃圾回收
1、当内存中有不再使用的部分时,垃圾收集器就会把他们清理掉。它会去检查那些引用计数为0的对象,然后清除其在内存的空间。当然除了引用计数为0的会被清除,还有一种情况也会被垃圾收集器清掉:当两个对象相互引用时,他们本身其他的引用已经为0了。
2、垃圾回收机制还有一个循环垃圾回收器, 确保释放循环引用对象(a引用b, b引用a, 导致其引用计数永远不为0)。
为什么同一个系统,6G运存剩2到3G12G运存剩5到6G
为什么同一个系统,6G运存剩2到3G,12G运存剩5到6G?
安卓机的内存管理机制就是这样的,不论是6G内存还是12G内存,系统的占用始终维持在60%左右,被占用的内存中,一方面是系统正常运行所必须用到的,另一方面是系统会将常用的软件加载到内存里面,以便提高下一次的打开速度,所以我们才会感觉到手机运行内存越大,系统流畅度越高。
手机运行内存越大,后台加载的应用就会越多,一旦内存占用超到一定的阈值后,比如80%,系统就会自动回收内存,使内存的占用始终维持在60%左右,即便我们同时打开上百个的软件,也基本不会看到内存被占满的样子,所以我们无需担心内存占用到底有多少,因为它根本不会影响我们的正常使用。
上面所说的后台并非我们点击多任务按钮看到的页面,我们点击多任务按钮出现的界面只能称之为软件打开历史,很多人都有清空这个的习惯,但实际上清理的只是历史记录,并非是清空后台运行的程序,如想彻底关闭某个软件,只能进到设置>应用管理页面,找到具体应用并点击停止运行。
总体来说,现在的手机内存管理机制已经非常完善,我们根本无需过多的在意内存占用问题,系统便会自动帮我们解决一切,如果实在不喜欢内存占用过多的话,就在开发者选项里,设置后台程序的保留个数吧,但个人不建议你这么做。
为什么我买的手机是6GB运行内存,清空后台所有应用却显示只有不到3GB内存
手机的运行内存6G,实际可用内存为什么只有3G左右呢?
- 先来说说这个手机标示的6G内存,即使什么软件也不运行,也是小于6G的。因为手机的系统,只要开机就肯定是要占用一部分运行内存的,而且这个占用的大小还取决于手机厂商对于安卓系统的优化能力和各类不可删除软件的臃肿程度,目前来说定制机Pixel Nexus系列都是原生态安卓系统,国内华为的EMUI也是属于系统底层优化不错的手机厂商之一。
2.现在因为运行内存很大,即使同时开启几十个软件也是占不满,很多手机厂家就将常用的电话、短信、拍照、手机管家、图库、设置、录音机、指南针、计算器等软件设置成常驻运行内存。因为经常要用到,因此每次打开这类软件都是瞬间打开,也提高了体验感觉,当然,这类常驻的软件也时时刻刻占用一部分运行内存。
3.还有的厂商因为采用的闪存规格不一样,加上还有虚拟存储这一说法,手机系统还会自动分配各软件占用空间,如果运行内存越大,限制就会越松,后台占用也就越多。
- 若出现运行内存不足的处理方法:
1、清理后台软件,释放运行内存;
2、卸载手机中不常用的软件,避免不必要的运行内存占用;
3、根据手机配置酌量安装软件,如手机本身配置较低,尽量不要运行对配置需求较高的游戏。
因此来说6G运行内存的手机,在没有运行任意软件的情况下,实际可用的只有3G左右,是很正常的。而且在打开各种软件的时候也感觉不到卡顿等待现象,体验各种软件也是非常流畅的,所以说不用担心。开心的去享受手机的乐趣吧。
小米10pro8g和12g运行内存差距大吗,8g够用吗
科技明言,分享身边科技资讯,体验评测科技数码产品。很荣幸解答你的这个问题。
小米10 Pro8G和12G运行内存差距大吗?
8G和12G指的是手机的RAM,RAM是手机APP运行时所占用的内存。我前两天收的小米10 8G版本,都没有打开应用,系统已经占用了3.5G的运行内存,还剩下4.5G内存可以使用。这也是安卓系统的弊端。至于8G和12G的差距,如果平时没有打开很多的应用程序同时运行的情况下,是没有什么差距的。但是对于那些占用系统内存比较大的APP而言,肯定是12G更优。
8G内存够用吗?
首先我认为8G是够用的。我的小米10 8G虽然只有4.5G可用,但是平时玩玩游戏,聊聊微信,做点其他轻量化的工作,完全是没有压力的。只要你不是一直打开很多APP不关闭,8GB是完全够用的。Android系统的内存管理机制就是有多少内存就会占用多少内存,它会给每一个打开的APP后台都会分配一个内存空间,以保证可以很快的再次开启。这也是Android和iOS系统最大的一个不同点。
建议:8G和12G差距不大,8G也是够用的,但是我还是建议您选择12G的版本,8+256版本,4999元,12+256,5499元。两者之间500元的差距,可以保证你的手机不会出现卡顿的现象,即使打开比较多的APP。当然,如果预算不够,8+256版本完全够用,因为我的小米10就是8Gb版本的。平时玩游戏,看视频,聊聊天,毫无压力!
看了上面的建议和分析,希望能帮助你找到答案。如果你还想其他方面的数码产品问题,可以关注私信我,为你带来更多,更实用的购机技巧和数码产品体验评测!
买手机时,为啥懂手机的人建议我们买8G的内存,而不是6G
手机运行内存越大好,机身存储越大越好是肯定的。但是为什么要选择大内存呢?这就要从手机的运行机制来说了。
无论是安卓手机还是苹果手机,点开APP后,APP都会在开始加载自身的资源,当你切回主界面时,APP并没有结束它运行,而是在后台一直静默运行着。当我们打开的APP多了,那么需要维持它们在后台运行的存储空间也就多了,一旦不够的话,系统就会自行关闭一些APP来给其他APP腾出空间。
8GB和6GB的区别就在于,8GB 能在后台存储更多的APP。如果你没有经常清理后台的习惯,并且安装的APP又很多的时候,8GB 的运行效果就会比6GB 的流畅。现在人们对于手机的依赖性越来越大,各个APP加起来的体积也非常大,所以从这一点上,当然会推荐更大内存的手机。
本文相关文章:
微信自建小程序(用微信小程序自建商城在今后的使用过程中会遇到哪些问题)
2024年7月24日 04:11
navigationbar(微信小程序 navigationbar怎么配置)
2024年7月23日 04:27
免费个人小程序模板(有免费的可视化小程序开发后台,你会选择自己做吗)
2024年7月21日 21:27
java编程思想过时了吗(Java程序员是不是已经烂大街了)
2024年7月18日 06:43
小红伞误杀程序怎么办电脑高手指点一下?小红伞查出特洛伊病毒怎么办
2024年7月15日 09:35
微信小程序和原生APP比起来有什么优势?相比阿里云的飞天系统,腾讯云用的是什么系统
2024年7月15日 07:33
谭浩强c语言入门(看完谭浩强那本C程序设计并做完所有课后习题,能算C语言入门了吗)
2024年7月15日 07:24
计算机二级c语言编程题(计算机二级c语言程序修改题该怎么学习)
2024年7月13日 20:48
更多文章:
服务器上的msdtc不可用(服务器上的mdstc不可用,用net start mdstc提示服务名无效怎么启动MDSTC呢)
2024年7月7日 07:31
iframe嵌套页面测试(本地测试时,iframe框架页正常,但是将网页放到服务器时,iframe中每个内嵌页的上部都空出来了一部分)
2024年7月11日 13:11
进度管理软件有哪些(可以帮助项目经理,把控项目进度的工具有哪些)
2024年10月15日 10:45
reactive的意思(rpd reactive plasma deposition是什么意思)
2024年7月26日 21:05
阿司匹林肠溶片的正确吃法早上还是晚上(如何正确服用阿斯匹林)
2024年7月20日 08:09
洛阳市洛龙区疫情最新消息(2021牡丹文化节期间洛阳博物馆开放时间调整)
2024年7月18日 01:32
windows虚拟机下载手机版(在Windows7电脑上如何登陆手机版贴吧app)
2024年6月10日 01:33
c语言中的补码是什么意思(c语言中原码,补码分别是什么意思)
2024年8月21日 02:05
jquery获取li的值(jquery中怎么获取li的数量)
2024年6月27日 13:10
anecdote是什么意思(anecdote可以讲悲伤的故事吗)
2024年7月13日 12:14
topsis熵权法(旅游经济和生态环境的空间错位指数如何计算)
2024年7月29日 20:40