首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >关于Windows内存的几个概念澄清

关于Windows内存的几个概念澄清

原创
作者头像
Windows技术交流
修改2022-02-20 22:36:20
修改2022-02-20 22:36:20
2.7K0
举报
文章被收录于专栏:Windows技术交流Windows技术交流

狭义的虚拟内存是分页文件pagingfile,通过SystemPropertiesPerformance.exe /pagefile命令设置pagingfile大小

最小、最大可以设置成一个数,也要考虑下系统盘剩余空间能不能放得下

一般是设置一个最小、最大范围,

我电脑是64G内存,换算成MB就是64*1024+257=65793

我设置的最小值是物理内存+257MB,最大值比最小值大4G。之所以最小值设置物理内存+257MB,这是微软蓝屏fulldump的要求

如果比较懒,那就让操作系统自己去把握吧,如下图勾选自动管理

如果已经遭遇虚拟内存瓶颈,比如压缩比较大的文件报无法分配所需内存,eventvwr事件查看器过滤到事件ID 2004 "Windows成功诊断出虚拟内存不足的情况"

遇到上述情况还不想重启,且磁盘空间足够,可以调整paging范围,把最小值设置成比之前的最大值还大的新值,不用重启就能生效,但建议还是要隔段时间重启下服务器,计划任务定时重启机器,可参考https://cloud.tencent.com/developer/article/1941560

下面详细说说windows内存的事情。

windows硬件配置(含CPU、内存、虚拟内存情况)可以用这句命令导出到文件

msinfo32 /nfo C:\SYSSUM.NFO /categories +systemsummary

可用物理内存=安装的物理内存-为硬件保留的物理内存

广义的虚拟内存(即交换分区)=可用物理内存+分页文件

windows不像linux,linux只有在物理内存用到爆的时候才会用swap(虚拟内存),windows则并不是物理内存用到满才会用虚拟内存,一些业务场景吃pagingfile比吃物理内存厉害,物理内存还没瓶颈时如果pagingfile满了,那系统和业务就会比较卡。参考https://bbs.huaweicloud.com/forum/thread-77940-1-1.html

下面的说明,我是以1台384G内存的黑石机器来截图示例的

上图箭头所指是微软在用词上不严谨,不该是Virtual Memory虚拟内存,应该是PagingFile分页文件。所有windows都是这样,跟云厂商没关系,你去看你windows电脑也是这样的。

msinfo32显示的信息才是准确的,云监控显示的信息也是准确的。

如下图左侧圈出的,总的虚拟内存(即交换分区)=总的物理内存(安装内存刨除为系统保留的内存)+分页文件

云监控对应的2个内存指标,分别对应下图右下的使用中和已提交,分别是物理内存使用量和交换分区使用量(并非pagingfile使用量)

如下图:安装物理内存384GB(为硬件保留1GB)、pagingfile 40GB、物理内存使用量14.1GB、交换分区使用量19GB、交换分区总量423GB

交换分区总量=为硬件保留的物理内存之外的其他物理内存+pagingfile=383+40=423

如果把pagingfilesize设置为0了,msinfo32显示的总的虚拟内存(即交换分区)=总的物理内存+分页文件=总的物理内存+0=总的物理内存

此时,2个内存指标的图像是一样的

搞清楚概念后就会明白,物理内存是交换分区的一部分,因此交换分区监控图像会一直存在

扩展:为硬件保留的内存默认是操作系统自动处理,但可以人为干预使得为硬件保留的内存变大,参考

https://cloud.tencent.com/developer/article/1924872

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档