服务器能够识别出来16G内存,但是显示出只有12G可用。怎么解决?

服务器能够识别出来16G内存,但是显示出只有12G可用。怎么解决?,第1张

显示出来16G内存,但只有12G可用,主要有以下两种可能。1、设置里限制了内存容量。一般需要运行msconfig,把下图中最大内存的限制取掉。 2、内存条没插好导致。网上有不少反馈,当内存条没全部插好的时候,开机可以认到容量,但可用内存受限制。一般重新插稳内存即可解决。3、也不排除病毒或系统重要文件被破坏的可能。上述方法解决不了,可以重装系统试下。

答:这个具体取决于你的物理服务器的硬件配置,以及虚拟机的资源消耗情况来定。没有固定的算法。

但是一般会有几个限制:

1.内存内存基本上是一个硬限制。物理服务器的内存肯定是有限的。例如,一台服务器有8core,8G内存,通常hypervisor会占用512M内存,大概还剩下7.5G内存,假设每个虚拟机的配置是1corecpu,1G内存,那么在此机器上最多可以运行7个这样的虚拟机。再创建新的虚拟机时,就会报错说内存不够。在此情况下,每个虚拟机在满负载情况下最多可以拥有1个cpucore的运算能力,1G的内存空间。

当然,现在的hypervisor基本上都支持over-commit的功能,也就是说,如果你的内存只有8G,但是设定一定比例的overcommit,例如50%,那么你可以最多分出去12G内存。还是上面那个例子,如果设定overcommit为50%,那么最多可以创建11个虚拟机(1core,1Gmem)。在服务器虚拟化方面,建议overcommit设置的不要太高,一般20%。在桌面虚拟化方面,可以将overcommit设置到50%.

2.网卡如果服务器只有一个网卡,所有虚拟机的网络流量都是通过一块网卡出去,虚拟机越多,每个虚拟机可以使用的带宽就会越少,这个是需要综合考虑。例如使用多个网卡等。

3.CPUCPU资源基本上都是采用时分复用,也就是时间片的方式来轮询的。

4.磁盘I/O是本地磁盘还是网络磁盘?如果是网络磁盘,是使用的iSCSI还是光纤?不同的情况,负载是不一样的。

一般一台服务器上能跑多少个虚拟机,需要综合考虑物理服务器,虚拟机负载等方面的整体情况,再来计算。没有一个固定的公式。

通常一个节点的内存在250G左右,若不设置运行内存,则会默认250G,当设置核心数过少时,可能会被分配到某个含空闲核心数不多的节点,该节点内存亦不多,因此可能会导致任务被杀死,下图所示

因此一般需要配置使用内存,可同时配置软件的使用内存和服务器请求使用的内存

可增加核心数,并在配置文件中配置使用内存,如50G,则在Max memory输入50

1)指定作业设置最大内存:--mem=<size[units]>指定作业在每个节点申请的内存

2)每个进程设置最大内存:--mem-per-cpu=<size[units]>每个进程申请的内存

结果显示节点名、节点状态、剩余CPU(核心数)、CPUload(一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息)、节点内存大小,剩余节点内存,任务列表

查看

参考:

https://www.cnblogs.com/nandi001/p/11643414.html


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/529537.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存