如何高效的使用内存

方法一、调整高速缓存区域的大小。所谓高速缓存,是指系统在读取磁盘、光盘上的数据时,采取“预读取”技术,也就是将估计即将要读取的数据预先读取到内存的高速缓冲存储器中,这样CPU在高速缓冲存储器中读取数据时就较快,从而提高运行速度。在内存中设置高速缓冲存储器,可以明显地加快读取数据的速度。Windows可以根据内存的大小自动地设置高速缓存的大小,当然用户也可以根据自己使用内存的情况,在内存中设置高速缓存的大小,以优化内存的使用。方法如下:

  在桌面上用鼠标右击“我的电脑”;在弹出的菜单中单击“属性”;在弹出的窗口中单击“性能”标签;单击下面的“文件系统”按钮;单击“硬盘”标签;拖动“预读式优化”调节杆,设置预读取条件;在“计算机的主要用途”栏设置系统利用高速缓存的比例;如果系统的内存较多,可选择“网络服务器”,这样系统将用较多的内存作为高速缓存;在CD-ROM标签中,可以直接调节系统用多少内存作为CD-xviii) ROM光盘读写的高速缓存,注意要在“最佳访问方式”中选择“四倍速或更高速”,这样系统将根据情况设置缓存的大小;也可以调节“追加的高速缓存大小”栏中的调节杆,xxii) 追加高速缓存。

  方法二、监视内存。系统的内存不管有多大,总是会用完的,虽然有虚拟内存,但由于硬盘的读写速度无法与内存的速度相比,大量、频繁地使用虚拟内存将使计算机操作变得无法忍受,所以在使用内存时,就要时刻监视内存的使用情况。Windows操作系统中提供了一个系统监视器,可以监视内存的使用情况。另外还有一个简单方法,就是在任何一个文件窗口中,选择“帮助/关于Windows”菜单,在打开的窗口中就可以看到目前内存使用的情况,一般如果只有60%的内存资源可用,这时你就要注意调整内存了,不然就会严重影响你的运行速度和系统性能。

  方法三、及时释放内存。如果你发现系统的内存不多了,就要注意释放内存。所谓释放内存,就是将驻留在内存中的数据从内存中释放出来。释放内存最简单、最有效的方法,就是重新启动计算机;另外就是关闭暂时不用的正在运行的程序,包括在后台运行的程序。平时就要养成这样的好习惯,随时关闭那些暂时不用的程序、文件或窗口。有些应用程序不能用一般的方法关闭,这时就要进行热启动,如按下“CTRL+ALT+DEL”;另外要注意剪贴板中如果存储了一幅图片或图像,图片或图像是要占用大量内存的,这时只要剪贴几个字,就可以把内存中剪贴板上原有的图片冲掉,从而将它所占用的大量的内存释放出来;还有,在后台打印文件,也会占用大量的内存空间。

  方法四、优化内存中的数据。在Windows中,驻留内存中的数据越多,如桌面上的快捷图标、任务栏中的图标、系统托盘中的时间等,都要占用内存资源。所以,桌面上和任务栏中的快捷图标不要设置得太多。如果内存资源较为紧张,可以考虑优化这些项目,尽量少用各种后台驻留的程序,特别是设计不好的程序,要占用大量内存资源。平时在操作电脑时,不要打开太多的文件或窗口,或者在程序中打开太多的数据文件,如果打开了,不再用时要及时关闭这些文件或窗口。另外,长时间地使用计算机后,如果没有重新启动计算机,内存中的数据排列就有可能比较混乱而导致系统的性能下降,这时你就要考虑重新启动计算机。

  方法五、提高提高系统其它部件的性能。计算机其它部件的性能,对内存的使用也有较大的影响,如总线类型、CPU、硬盘、显存等。如果显存太小,而显示的数据量很大,再多的内存也是不可能提高其运行速度和系统的效能的。如果硬盘的速度太慢,特别是平均寻道时间和速度太慢,则会严重影响系统的虚拟内存的读写速度和使用效能,导致整个系统的效能下降。

(0)

相关推荐

  • 如何高效的使用内存

    方法一.调整高速缓存区域的大小.所谓高速缓存,是指系统在读取磁盘.光盘上的数据时,采取"预读取"技术,也就是将估计即将要读取的数据预先读取到内存的高速缓冲存储器中,这样CPU在高速缓冲存储器中读取数据时就较快,从而提高运行速度.在内存中设置高速缓冲存储器,可以明显地加快读取数据的速度.Windows可以根据内存的大小自动地设置高速缓存的大小,当然用户也可以根据自己使用内存的情况,在内存中设置高速缓存的大小,以优化内存的使用.方法如下: 在桌面上用鼠标右击"我的电脑"

  • JavaScript也谈内存优化

    相对C/C++ 而言,我们所用的JavaScript 在内存这一方面的处理已经让我们在开发中更注重业务逻辑的编写.但是随着业务的不断复杂化,单页面应用.移动HTML5 应用和Node.js 程序等等的发展,JavaScript 中的内存问题所导致的卡顿.内存溢出等现象也变得不再陌生. 这篇文章将从JavaScript 的语言层面进行内存的使用和优化的探讨.从大家熟悉或略有耳闻的方面,到大家大多数时候不会注意到的地方,我们一一进行剖析. 1. 语言层面的内存管理 1.1 作用域 作用域(scope

  • Java对象的内存布局全流程

    目录 对象内存布局 对象占用内存空间 证明对象内存布局 开始先抛出一个问题:一个对象o,Object o = new Object();创建完成后会占用多少字节的内存? 要能回答这个问题,就需要了解java对象的内存布局. 对象内存布局 一个Java对象在内存中包括对象头.实例数据和对齐填充三个部分.如下图所示: 对象头 Mark Word:包含一系列的标记位比如hashcode.GC分代年龄.偏向锁位,锁标志位等.这个Mark Word在对象被加了不同量级的锁时所包含的内容和布局都有所不同,这

  • 使用Go实现健壮的内存型缓存的方法

    目录 使用Go实现健壮的内存型缓存 由来 Demo应用 字节 VS 结构体 Native 缓存 并发更新 后台更新 同步过期 缓存错误 故障转移模式 缓存传输 锁竞争和底层性能 内存管理 基准测试 开发者友好 总结 使用Go实现健壮的内存型缓存 本文介绍了缓存的常见使用场景.选型以及注意点,比较有价值.译自:Implementing robust in-memory cache with Go 内存型缓存是一种以消费内存为代价换取应用性能和弹性的方式,同时也推迟了数据的一致性.在使用内存型缓存时

  • C++高并发内存池的实现

    目录 项目介绍 内存池介绍 定长内存池的实现 高并发内存池整体框架设计 threadcache threadcache整体设计 threadcache哈希桶映射对齐规则 threadcacheTLS无锁访问 centralcache centralcache整体设计 centralcache结构设计 centralcache核心实现 pagecache pagecache整体设计 pagecache中获取Span 申请内存过程联调 threadcache回收内存 centralcache回收内存

  • .NET Framework中定时器timer的单线程与多线程使用讲解

    如果你需要使用规律的时间间隔重复执行一些方法,最简单的方式是使用定时器(timer).与下边的例子相比,定时器可以便捷.高效地使用内存和资源: new Thread (delegate() { while (enabled) { DoSomeAction(); Thread.Sleep (TimeSpan.FromHours (24)); } }).Start(); 这不仅仅会永久占用一个线程,而且如果没有额外的代码,DoSomeAction每天都会发生在更晚的时间.定时器解决了这些问题. .N

  • C语言关键字auto与register的深入理解

    关键字概述很多朋友看到这儿可能会有疑问,往往其它讲C语言的书籍都是从HelloWorld,数据类型开始C语言学习的,为什么我们要从C语言的关键字开始呢?关于这点,我有两点需要说明:本章节面向的读者对象是有一定的C语言基础知识的朋友(至少应该学习过大学里的C语言程序设计等类似的课程)本章节结合了作者多年嵌入式工作.研究.教学经验而作,由计算机底层硬件到上层软件设计融会贯通,中间有大量的深入浅出的示例 在我对C语言进行培训的时候,往往就是从C语言的关键字入手,因为C语言的关键字蕴含了C语言的全部的词

  • jQuery使用经验小技巧(推荐)

    在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以复制并粘贴大部分的代码结构,只要专注最主要的逻辑代码就行了. 使用相同的设计模式和架构也让修复bug或者二次开发更容易.一套经过验证的架构可以保证我的插件不出大的问题,不论插件简单还是复杂.我在这里分享10条我总结的经验. 1. 把你的代码全部放在闭包里面 这是我用的最多的一条.但是有时候在闭包外面的方法会不能调用.不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所

  • 10条建议帮助你创建更好的jQuery插件

    本文总结了帮助你创建更好jQuery插件的10条建议.分享给大家供大家参考.具体说明如下: 在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行了.使用相同的设计模式和架构也让修复bug或者二次开发更容易.一套经过验证的架构可以保证我的插件不出大的问题,不论插件简单还是复杂.我在这里分享10条我总结的经验. 1. 把你的代码全部放在闭包里面 这是我用的最多的一条.

  • Swift源码解析之弱引用

    序言: 各个社区有关 Objective-C weak 机制的实现分析文章有很多,然而 Swift 发布这么长时间以来,有关 ABI 的分析文章一直非常少,似乎也是很多 iOS 开发者未涉及的领域- 本文就从源码层面分析一下 Swift 是如何实现 weak 机制的. 下面话不多说了,来一起看看详细的介绍吧 准备工作 由于 Swift 源码量较大,强烈建议大家把 repo clone 下来,结合源码一起来看这篇文章. $ git clone https://github.com/apple/sw

随机推荐