把内存条当硬盘使用会怎么样?
在内存中跑文件系统,也就是虚拟一个磁盘,显然是不划算的,不够高效的。xp时代就有很多这种软件了,windows,linux,unix都有内核级的实现,比任何第三方软件都高效。
用ramdisk首先你要人工把文件复制进去,如果换文件还要重新复制。二者,这块占用的内存无法被操作系统利用。无非就是体验一下那一分钟的速度罢了。
所以操作系统有更先进,开销更低的缓存功能,只要你读过一遍的文件,操作系统就会缓存起来,下一次就会直接从内存里读取,前提是你内存够大。
举个简单的例子,你你从ssd复制一个大文件到hdd,你会发现很快完成了复制操作,但这个时候磁盘写入可能还没有完成,这个文件就被缓存起来了。如果你不做其他操作,等复制完成之后立即从hdd打开这个文件,你还会发现,文件以一个极快的速度瞬间加载,这都是缓存在起作用,避免卡顿。
还有一个很明显的例子就是,开机第一次运行大型软件,加载会很慢。但一旦你关闭后再次打开,就会变得很快,这也是缓存的作用。
当然,前提是内存必须够大,起码16G起步,上不封顶。内存越大,操作系统就不需要平凡的清理这些资源。现代操作系统还会把你经常使用的程序的一部分预先加载到内存,等你要用的时候就会很快载入了。
怎么样,这种全自动的操作比起你手动管理要高效得多吧!
在win系统中,任务管理器不会告诉你缓存的使用情况,而类unix系统会在系统信息中报告缓存的使用情况,这也是为什么以前很多人想当然认为类unix系统内存占用比win高的原因。
现代操作系统都是很智能的,并且内核是根据不同应用环境做了优化的,毕竟发展这么多年了。比如在linux系统中,默认上下文切换桌面系统是1000hz,提高响应速度,服务器则是250hz,减少上下文切换的开销。
所以任何额外的优化软件都是本末倒置,更不要指望自己手工管理能比操作系统更聪明。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有