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

为什么内存不足应用变卡

前提,解释windows。windows在内存调度的时候会使用到虚拟内存(也叫页面文件)来调度内存空间。这其实为当时内存不够用准备的。当系统需要更多内存去开一个新的进程的时候

前提,解释windows。

windows在内存调度的时候会使用到虚拟内存(也叫页面文件)来调度内存空间。这其实为当时内存不够用准备的。当系统需要更多内存去开一个新的进程的时候,发现内存并不够开启一个新的进程,但是又不能将任意一个已经开启的进程杀掉来换取内存,没有办法,只能将一些冷进程挂起,并将内存写入硬盘的特定区域来腾出内存空间。
这个时候某些进程就被写进了硬盘,由于硬盘读取速度慢,在系统有大量进程写入硬盘时,会出现硬盘和内存在不断交换数据的现象。典型例子就是Chrome,当你打开100个网页(比如说刷100页淘宝),正在浏览的网页尚且流畅,但是突然切换到某个网页,可能这个网页已经变成空白或者不能操作了。过一段时间之后这个页面就会恢复,尽管说不像IOS那样需要reload,但是也会耗费一定程度的时间来调度内存和硬盘中的虚拟内存。
内存和硬盘不断交流数据,会让系统变得非常慢,尤其是虚拟内存特别吃硬盘的4K性能和寻道时间,这就是低内存机器换SSD之后电脑会飞快的原因,以为虚拟内存和内存的交换速度明显的提升了。




推荐阅读
author-avatar
woorain_77b002
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有