为什么系统安装内存越大iphone系统占用内存大的内存也越大?

内存越大,电脑速度越快?这个说法正确吗
互联网 & 05-14 17:24:33 & 作者:佚名 &
内存越大,机器越快?我想大多数人的回答都是肯定,从512MB到1GB的提升很明显,所以想当然,从1GB到2GB提升也会很明显吧。但是我用亲身经历告诉你,大内存或许比小内存还要慢,当然,前提是你什么都不设置
内存越大,机器越快?我想大多数人的回答都是肯定,从512MB到1GB的提升很明显,所以想当然,从1GB到2GB提升也会很明显吧。但是我用亲身经历告诉你,大内存或许比小内存还要慢,当然,前提是你什么都不设置。&&&前几天我把我的Compaq N410c扩展到了1GB内存,2&512MB,结果扩展之后发现机器不但还跟原来一样有点卡,而且休眠时间变长了。这是肯定的啦,休眠就是把内存里的东西拷贝到硬盘上,内存越大,休眠时间肯定越长了,这让我很郁闷,难道我花了钱升级我的机器,反而比原来更慢了。我用memstate这个软件实时监测我的内存情况,发现一直都有600多兆的空余内存,这说明机器的内存是非常够用的,甚至很多都在被浪费着,可是机器为啥还是这么慢呢?于是我到google上找原因,结果发现已经有很多人发现这个问题了,并且已经有了权威的解释,这里我把关键的部分摘抄出来,并结合自己的使用心得与大家分享。注:这里的修改以及使用方法均针对XP系统。
现在请打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control \Session Manager\MomoryManagement],在右侧窗格修改一下键值(要注意的是,做一下设置的前提是内存最好超过512MB,并仅限于 Windows 2000/XP)。&&&(1)&LargeSystemCache&(启动大的系统缓存):在内存中开辟一块大的内存空间用于磁盘文件系统的预读取操作。当程序连续请求的数据增加时,Windows通过系统缓存自动预读,使程序能以最快速度获取所需数据。由于启用这个系统缓冲会占用较多的物理内存,使得能被程序利用的可用物理内存减少。将其值设为1.这样,系统缓存从4MB增加到8MB.&&&(2)&SecondLevelDataCache&(提高cpu性能):CPU的处理速度要远远大于内存的存取速度,而内存又要比硬盘快得多。这样 CPU与内存之间,内存与磁盘之间就形成了影响性能的瓶颈效应,前面的&LargeSystemCache&是为了缓解内存与磁盘瓶颈而设计的,而CPU 为了能够迅速从内存获取处理数据也设置了一种缓冲机制L2 Cache(二级缓存)。调整这个键值能够使Windows更好地配合CPU利用该缓存机制获得更高的数据预读取命中率。建议将其设置为512.&&&(3)DisablePagingExecutive(禁用页面文件):将其值改为1(十六进制),这样将使所有程序和数据强制性限定在物理内存中运行,而不是使用虚拟内存。很明显,当有足够多的物理内存来完成所需任务时,这样做必使系统性能得到巨大的提升。&&&(4)&IOPageLockLimit&(定制输入/输出缓冲尺寸):输入输出系统是设备和微处理器之间传输数据的通道,当扩大其缓冲尺寸时数据传递将更为流畅。同理,具体设置多大的尺寸要视物理内存的大小和运行任务多少来决定,如果有更多内存,完全可以将其设为10000(64MB)甚至更多。当设为 0时,Windows将自动配置。设置这些之后,重启系统即可。其实修改这些的效果并不是很明显,不过心理上总有个安慰吧,下面的才是让你感到质的飞跃的地方。&&&这里要向大家介绍一个软件,RAMDisk Plus,这个软件就是把内存的一部分划分出来作为一个磁盘分区用的,你可以把一些临时文件夹转移到这个分区上,比如IE的临时文件夹,这样会大大提升你浏览网页的速度。内存的传输速度和硬盘的传输速度的差距我想大家都清楚吧,用内存的一部分作硬盘相当于添加了一个万转的硬盘,速度的提升可想而知。这个是我的亲身体会,我把我的内存中的100MB划出来作为一个分区,然后把IE的临时文件夹挪到上面,重启之后,打开网页就是一瞬间,以前即便是在网速很好的半夜,也没有这么快的,看来很多时候网速不是瓶颈,机器才是瓶颈啊,尤其是那些图片较多,需要缓存的网页,大家可以试试。划出这100MB内存之后,我现在的正常可用内存还保持在500MB以上,好在RAMDISK plus可以添加多个分区,我可以再划出来几个分区,然后把一些常用程序放进去,这样运行起来肯定也快多了。&&&不过记住,内存掉电后里面东西就都没了,但是还好,Ramdisk plus提供了关机自动保存的选项,也就是关机的时候可以把虚拟硬盘分区中的东西保存到实际硬盘分区中你指定的地方,然后开机的时候再load回来,跟休眠的道理差不多啦,只是这样就会导致关机时间和开机时间变得很长,所以我建议只在虚拟硬盘分区上放临时文件,反正临时文件迟早是要被清空的,放到 ramdisk上还省去了手动清空的麻烦。
大家感兴趣的内容
12345678910
最近更新的内容为啥物理内存越大,windows占用的内存就越大? - 知乎236被浏览<strong class="NumberBoard-itemValue" title="4分享邀请回答9338 条评论分享收藏感谢收起8424 条评论分享收藏感谢收起博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)电脑内存占用高怎么办 Win7内存占用高解决办法_电脑百事网
手机扫描二维码
电脑内存占用高怎么办 Win7内存占用高解决办法
百事网原创
Win7系统在正常使用的时候会占用很多资源,比如网络诊断,缓存还有其他各种平时大部分时候我们都用不上的资源,如果我们电脑本身内存比较小只有2G内存或者以下,打开程序稍微多加个就会造成Win7内存占用高,整个系统运行缓慢,这是我们可以尝试将一些我们明确知道的不会使用的系统服务关系以释放被系统占用的内存。
当然还有较为保守的方法:,大家可以试试。
Win7内存占用高解决方法一
1:单击 按钮,在搜索框输入&服务&,然后在&程序&列表中选择&服务&选项。
2:打开服务窗口后,双击要停用的服务。
3:打开&属性&对话框后,在&常规&选项卡中的&描述&区域查看该服务的作用,然后打开&依存关系&选项卡,查看该服务与其他服务的依存关系,如图所示:
4在确定该服务不需使用而且停用后不会影响系统正常运行的情况下,在&常规&选项卡下禁用该服务。如图所示:
这里附上几个常用的Win7系统服务的中文含义,关于其他的你可以百度下,一般都有答案。
Print Spooler:这项服务主要为打印功能提供支持,如果电脑没有安装打印机并且不需要使用虚拟打印功能,可关闭该服务
Bluetooth Support Service:蓝牙功能支持,如果电脑不连接蓝牙设备,可以停用该服务。
Certificate Propagation:智能卡证书支持,对于未配置智能卡的电脑而言,该服务没有任何作用。
Adaptive brightness:监视氛围光传感器,以检测氛围光的变化并调节显示器的亮度。停止或禁用此服务后,显示器亮度将不根据照明条件进行调节。
Win7内存占用高解决方法二
1.启动&windows任务管理器&,快捷键&alt+ctrl+delete&点击&性能&选项卡,查看系统内存和物理内存的使用情况.
2.点击&开始&菜单(快捷键是Win键+R),然后再输入msconfig命令
3.会弹出&系统配置&的对话框,然后选择&服务&这个选项卡.你可以看到很多运行的服务.将前面的复选框的勾选上.然后点击&全部禁用&按钮.确定即可.(禁止服务时候.先确定 不是系统必须的服务(即禁用也不会影响系统的运行).
以上就是小编整理的关于电脑内存占用高的解决办法,我们主要是通过释放一些Win7系统保持运行的而我们日常使用时不会用上的系统服务。注意,一定要确认这些系统服务不是关键性系统服务,否则会导致操作系统不能正常运行。
加载更多内容
关注智能手机、电脑、笔记本、科技资讯, 致力于提供有价值的IT资讯。为何我的java项目运行一段时间后,物理内存使用越来越高?
公司的一个运行在tomcat上的java ee项目,主要功能上是作为接口服务器。服务器上物理内存8G,tomcat启动时jvm初始堆内存以及最大堆内存都设置为1400M,项目运行起来后,物理内存还剩快2G的样子。但是慢慢运行几天后,用top命令看内存使用情况,java进程占用的内存越来越多,最后把物理内存用满了,但是之后就不会在增加(不会去用swap),同时,tomcat性能上感觉没有什么影响,也不会抛出OOM什么的,负载低的时候cpu使用率也不超过10%。
后来针对这个项目有做过接口的压力测试,接口内部处理逻辑就是接受请求报文后保存到数据库,压测30分钟,机子的物理内存也是越用越多,到最后用满,但是接口的响应速度没有什么影响。整个压测过程,我用visualVM观察jvm的情况,发现堆内存基本上只用了500多M,还没达到最大值(项目启动时给虚拟机分配的初始值和最大值是1400M)。压测结束后,有50多个线程是live状态(tomcat配置的最大线程数300),看了下ThreadDump 貌似都是http请求相关的线程。
我想请教下,这种情况是否正常?既然分配的堆内存都没用完,那些后来慢慢增长的物理内存用在哪些地方了(难道是线程的栈内存?),为什么随着负载降低,这些物理内存没被释放掉呢。
这里贴下项目的JVM启动参数和tomcat server.xml设置的一些参数:
export JAVA_OPTS="-server -Xms1400M -Xmx1400M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true "
----------
&Connector port="9010" protocol="HTTP/1.1"
IEncoding="UTF-8" minSpareThreads="25" maxSpareThreads="75"
disableUploadTimeout="true"
acceptCount="300" maxThreads="300" maxProcessors="1000" minProcessors="5"
useURIValidationHack="false"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
URIEncoding="UTF-8"
--------------
小弟对JVM优化的经验基本为零,各位大大能解惑的话,不胜感激,顺便跪求JVM优化相关的书籍?T_T
这应该是linux系统的缓冲吧,你可以用free命令查看一下你真实使用的内存是多少。
哈哈,真巧啊。之前我给别的项目组做了一个web的管理系统,他们也跟我说过这个问题。后来我排查方法和你一样。不是java的问题,只要没OOM,就不存在内存泄露的问题。还有一个问题得注意,是不是JAVA占用的内存超出了你设置的值,如果是,是不是考虑什么地方使用了NIO,这部门内存是内核层的,不属于用户层,可能看不出来。
--- 共有 2 条评论 ---
不用操心了
3Q! 我发现堆内存没有超出,系统也运行正常,所以才觉得纳闷=口=
书的话看看JVM性能调优
把JVM dump出来。然后用mat分析
--- 共有 1 条评论 ---
嗯。。dump出来了,堆内存使用正常
后来发现是我查看内存的方式有问题,用top命令看到的Mem使用率是包括buffers和caches的,如果用free看的话,其实内存使用率没那么高,大部分都是缓存,这是linux的内存管理机制?
你如果是用linux系统,
那么这种情况应该是正常的,只要系统稳定, 没啥好担心的.
你设置了1400m 怎么可能会超过这个值 超了就相当于OOM了(可以去看看gc的机制)
用TOP命令不合适吧 还是用jvm监控的东西 最简单的jconsole也能看到大致情况
一般情况下 cpu没满负荷 没有OOM 系统运行正常 那就没有问题
--- 共有 1 条评论 ---
嗯,我就好奇为什么top命令看到的内存都是满的,看来是我关注错地方了,应该用free来看,linux运维知识欠缺啊。
引用来自“lhjiang”的评论这应该是linux系统的缓冲吧,你可以用free命令查看一下你真实使用的内存是多少。嗯,用free命令看的话就是正常了,top下看到的是cache+buffers的内存使用情况,实际上没那么多&

我要回帖

更多关于 系统占用内存大怎么办 的文章

 

随机推荐