热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

谈虚拟内存的合理设置(1)96PC.COM(原创)

谈虚拟内存的合理设置(1)--96PC.COM现在内存的价钱越来越便宜,很多新装机的朋友都已经在使用1GB的内存,而还有很多人也在给老电脑的内存升级设置等列

  谈虚拟内存的合理设置(1)--96PC.COM

  现在内存的价钱越来越便宜,很多新装机的朋友都已经在使用1GB的内存,而还有很多人也在给老电脑的内存升级设置等列宽。在升级了物理内存之后,如何有效设置虚拟内存才能获得最大限度的性能提升?网上流传的一些优化虚拟内存的方法真的有效吗?这些就是本文将要讨论的内容。

  网上有很多广泛流传的关于虚拟内存优化的技巧,其实很多都是经不起推敲的设置等列宽。大家一起来看看吧。

谈虚拟内存的合理设置(1)--96PC.COM(原创)

  观点一:对于拥有大容量物理内存的用户,可以完全禁用虚拟内存设置等列宽。要彻底了解这个问题,首先得明白什么是虚拟内存,以及虚拟内存有什么作用。在早期,因为内存价格非常昂贵,因此一般电脑上都不会配置太多,那么有时候如果操作系统和应用程序需要的内存数量超过了计算机中安装的物理内存数量,操作系统就会暂时将不需要访问的数据通过一种叫做“分页”的操作写入到硬盘上一个特殊的文件中,从而给需要立刻使用内存的程序和数据释放内存。这个位于硬盘上的特殊文件就是分页文件(也就是虚拟内存文件或叫做交换文件)。对于Windows 2000/XP/2003操作系统,分页文件名为pagefile.sys,默认情况下位于操作系统所在分区的根目录下。

  既然知道了虚拟内存的由来和作用,那么持这种理论的人认为,硬盘和内存的速度具有天壤之别,如果禁用了虚拟内存,系统就不需要花时间将内存中的数据分页到硬盘上,从而提高了系统的运行效率设置等列宽。然而根据传统的设计,Windows 的许多核心功能都需要使用分页文件,而如果你禁用了所有分页文件,有些第三方的应用软件都可能会遇到内存不足的错误。其实在不需要的时候,Windows 并不会使用分页文件,因此这样调整系统你并不能获得任何性能上的提高。

  观点二:对于虚拟内存,建议的设置是物理内存数量的1.5-2倍(分别为虚拟内存的最小值和最大值)设置等列宽。在讨论这个问题之前首先看两种情况:有两台电脑,除了内存,其他所有配置都相同。电脑A拥有128MB内存,电脑B拥有1GB内存,这两台电脑都运行Windows XP操作系统。按照这个观点的方法设置,电脑A的虚拟内存将会设置为192MB-256MB,而电脑B的虚拟内存将会设置为1.5GB-2GB。那么实际使用中呢,电脑A很可能会在运行大型软件或者游戏的时候产生虚拟内存不足的问题,而电脑B则会因为设置了如此大的分页文件而导致硬盘空间的浪费。如何根据实际情况设置虚拟内存,这个我们会在下文中介绍。

  观点三:我们可以使用内存释放软件将运行中的程序占用的内存释放出来,提高系统运行效率设置等列宽。在否定这个观点之前我们首先要明白一件事,任何程序,只要被执行,就会占用一定的内存空间(具体占用多少内存则取决于程序自己的体积以及载入的数据文件的大小),那么这种所谓的内存释放软件是如何生效的?软件并没有退出,从哪里释放内存呢?原来这种“优化”软件会把程序占用的内存全部分页到虚拟内存中,从而造成了物理内存被释放的“假象”。

  安装有这类软件的朋友可以试试看,打开Windows任务管理器,打开进程选项卡,接着在“查看”菜单下选择“选择列”命令,在随后出现的选择列对话框中选中“虚拟内存大小”这一选项设置等列宽

  记住几个占用内存比较多的进程各自使用的内存数和虚拟内存数,然后使用内存释放软件进行释放设置等列宽。本文将会使用微软发布的Windows Server 2003 Resource Kit工具empty.exe,该工具前段时间在网上非常风光,很多人都宣称具有释放空闲内存的作用(虽然还有其他释放内存的工具,不过原理上都是一样的)。运行“empty *.*”,可以看到,在短时间内,之前占用了大量物理内存的进程占用的物理内存数量都变得很少,而虚拟内存用量增加了,但是这种现象只持续了很短的时间。马上,这些进程占用的物理内存数量又开始回升了。

谈虚拟内存的合理设置(1)--96PC.COM(原创)

  因此可以说,这类释放内存的软件根本没有太大作用设置等列宽。相反,有些软件可以在内存占用达到一定程序之后自动释放内存,这可能会对本身就已经很繁忙的计算机雪上加霜。想象这种情况,当你内存数量不多,而又运行了比较大型的程序后,必然导致物理内存数急剧减少,而在这种


推荐阅读
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • CMake跨平台开发实践
    本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
author-avatar
ChiuChiuLIN
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有