我在Azure服务计划中的Azure应用服务计划中运行了一个相当简单的Web应用程序。该计划提供1个CPU和1.75GB RAM。
CPU使用率永远不会超过5%左右,内存使用率绝不会低于52%。
我确实停止了计划中运行的唯一站点,并且内存使用量根本没有下降。我创建了一个新的App Service计划并让它运行了一天,并且在此期间最小内存使用率为50%,其中没有运行任何应用程序。
我知道原因可能就是操作系统上运行的操作系统和服务,但是让我付出50%的内存非常令人沮丧 - 我的应用程序会随着时间的推移而增长。
我可以对计划本身做些什么,以降低内存消耗?
关于应用程序,除了禁用我不需要的功能(如Python和PHP),并将应用程序设置为32位,那里有选项吗?
答案 0 :(得分:0)
这就是这些服务的运作方式。 50%将用于运行操作系统(可能已经很好地调整为尽可能少地运行)。值得一提的是,当你扩大规模时,这个数字不会保持在50%。如果我们按照“基础设施”占用900mb的原则工作,那么当您扩展时,该数字很可能保持不变。因此,加倍到3.5gb模型意味着操作系统占用了可用内存的25%。
如果您不访问* .scm.azurewebsites.net网站,那么它将不占用任何内存(因为它不会被加载),并且如果您与其他应用程序共享应用服务计划你自己然后禁用“Always On”意味着你的应用程序如果没有被使用就不会占用任何内存。
我所知道的唯一不包含可用内存中的操作系统的服务是Azure Functions / AWS Lambda。