我有一台 16 核机器,有 8 GB 的 RAM,运行 Windows 2008,我在其上安装了一个虚拟机,并安装了 Windows 2008 64 位操作系统,并为其分配了 4 GB 的 RAM。在客户操作系统上安装了一个 Mysql 数据库,供我的应用程序使用它。Mysql 数据库的活动非常高。
不幸的是,主机操作系统显示物理内存使用率为 89%,这是完全不可接受的。我可以进行任何配置来减少主机操作系统的物理内存使用率吗?
如果我把任务管理器中列出的所有进程加起来,它不会超过 2 GB
答案1
您为虚拟机预留了 8GB 内存中的 4GB。即使您的客户机未使用它,在客户机运行时,主机也无法使用该分配的内存。这意味着在读取 RAM 使用量时,请从顶部取 50%。剩余的 39% 相当于 3.12GB。这听起来适合您的操作系统 + 正在运行的活跃服务器应用程序。如果总数不相等,请确保您查看的是所有用户的进程,而不仅仅是您的用户。
我还有另外两点观察:
- 8GB 是方式对于 16 核服务器来说,RAM 不足。您需要至少每核 1GB,包括超线程(如果适用)。更多会更好 — 取决于你正在做什么,也许更多。
- 一般情况下,89%的利用率有什么问题呢? 你肯定不希望 RAM 闲置在那里。如果不使用,就浪费了。我理解如果你仍在测试,并且你预计最终负载会高得多,但我只是想确保你对利用率的期望是应该的。
答案2
4GB 加 2GB 的使用率接近 89%。我建议在 16 路处理器上安装 8GB 以上的内存。
答案3
8 GB 的 89% 略大于 7 GB。也许存在临时内存分配,但特定进程未对其进行跟踪,或者正在使用磁盘缓存(考虑到 MySQL 中的高活动性,这很有意义)。
确保您正在使用 64 位版本的 MySQL 和其他类似软件(当然,我假设 MySQL 可作为原生 64 位程序用于 Windows)。