谁调整了Windows服务器的内存池大小

谁调整了Windows服务器的内存池大小,第1张

分页内存池与非分页内存池在Windows 服务器上是两个重要的内核资源。系统及其底层的驱动在分配内存时,会从这两个内存池中申请相应的内存,用于存储它们的数据结构。
默认情况下,这两种资源都是在机器启动时,系统在硬件组成的基本上自动计算出来的,也就是说它们的值可能根据内存大小及其它硬件的类型的区别,在不同的机器上有所不同。
从公开的资料中,我们一般可以查询到在Windows *** 作系统上,Windows 的分页内存池/非分页内存池极限值是:
所以一般情况下,在32位的系统上,由于分页内存池/非分页内存池的极值都是有限的,且总量并不是很高,如果底层驱动出现内存池泄漏的问题,或是系统总的内存池使用量过高,
就非常容易造成分页内存池/非分页内存池耗尽的情况,从而导致用程序无法正常运行,或是服务失去响应甚至蓝屏的问题。
目前在Windows中,比较常用的查询当前系统的分页内存池/非分页内存池实时使用量的工具是任务管理器。
图1:任务管理器查询实时分页内存池/非分页内存池的使用量
而对于当前系统的分页内存池/非分页内存池的极值大小的查询方法,一般是使用process explorer工具(需要网络支持)。
使用方法为:
1: 用默认路径安装Windbg工具:
2:下载Process
Explorer工具:
3: 运行Process
Explorer,在Options -> Configure Symbols…中配置符号,如下图2(注: 这里需要服务器可连接到微软的符号服务器以自动下载符号)。
图2: Process Explorer配置符号
4: 然后在Process Explorer菜单中,选择view -> System Information…来查看当前的分页内存池/非分页内存池的极值。
这里以一台Windows 2003 sp2 x86的服务器为例:
在上面示例的系统上,我们可以看到当前服务器在2GB物理内存的情况下,分页内存池极限值为362,496KB,约354MB,而非分页内存池的极值是262,140KB,约256MB。
比较上述极值与我们之前查询到的理论值,我们可以看到,非分页内存池的大小(256MB)与资料中查到的极限值基本一致,但是分页内存池的值354MB要远小于理论上的470
- 650MB。这是为什么呢?
这个主要是因为在Windows 2003安装完成后,系统中并没有把paged pool设置到可以支持的最大值,而是有一定的保留。我们可以根据KB312362(>虚拟内存设置和win7的一样 右键计算机单机属性
看左边单机高级系统设置 出来一个系统设置 选择高级那个选项卡
看见性能哪里 可以设置虚拟内存
然后单机设置 出来一个性能选项 点击高级选项卡 可以看到虚拟机存了
然后可以选择哪个盘 大小多少 或者设置动分配虚拟内存!

服务器是8核16G要先设置成10G,即物理内存的一半再多加一些(建议跟最大堆大小设置成相同值,这样可以减少刚部署阶段的fullgc次数),然后运行一段时间再看容器的监控,看容器还剩多少内存。如果还剩很多,再调大一些,例如设置成12G,直到充分利用容器物理内存为止。设计JVM步骤如下:
1、打开win10系统的环境变量。
2、在系统变量中,新建变量JVM_OPTS,值设置为-Xms1024M-Xmx2048M-XX:PermSize=256M-XX:MaxNewSize=256M-XX:MaxPermSize=512M(具体根据实际情况进行配置)。
3、保存设置后,每次启动服务器都会按这个配置初始化JVM虚拟机内存。

淘宝买的服务器内存是自动设置的,你修改不了,一般来说,你买的多少内存就是多少内存,mc服务器的所有内存不是一直分配的,一开始有个初始内存,他说的内存是最大内存,等你需要那些内存的时候,那些内存就会被分配


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12792007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存