当前位置: 首页 > 知识库问答 >
问题:

应用服务中的内存利用率是否可以提高

凌声
2023-03-14

我有一个相当简单的web应用程序,它运行在Azure的应用程序服务计划中,运行在B1服务计划中。此计划提供1个CPU和1.75GB RAM。

CPU使用率永远不会超过5%左右,内存使用率永远不会低于52%。

我确实停止了计划中唯一一个运行的站点,内存使用率没有下降。我创建了一个新的应用程序服务计划,并让它运行了一天,在此期间,内存使用率最低为50%,其中没有运行任何应用程序。

我知道这样做的原因很可能是操作系统和操作系统上运行的服务,但我要支付50%的内存,这很令人沮丧——我的应用程序会随着时间的推移而增长。

我可以对计划本身做些什么来降低内存消耗吗?

关于应用程序,除了禁用我不需要的功能(如Python和PHP)并将应用程序设置为32位之外,还有其他选项吗?

共有1个答案

赵钊
2023-03-14

这就是这些服务的工作方式。50%的用户将运行操作系统(可能已经进行了相当好的调整,以尽可能少地运行)。或许值得一提的是,当你扩大规模时,这个数字不会保持在50%。如果我们按照“基础设施”占用900mb的原则工作,那么当您扩大规模时,这个数字很可能保持不变。因此,将3.5gb机型的容量加倍意味着操作系统将占用您可用内存的25%。

如果您不访问*。scm。Azure网站。net站点,则不会占用任何内存(因为不会加载),如果您与自己的其他应用共享应用服务计划,则禁用“始终打开”将意味着您的应用在未使用时不会占用任何内存。

据我所知,您可以使用的可用内存中唯一不包含操作系统的服务是Azure函数/AWS Lambda。

 类似资料:
  • 微丝网应该可重复使用吗?对于可重用,我并不意味着共享特定于域的模型。 我的意思是,为一个应用程序创建的微服务是否应该在另一个应用程序中重用?如果它们可以在应用程序中重用,是否足够? 分离微服务的最佳方法是什么。从我的观点来看,一旦一个微服务调用另一微服务,它就会紧密耦合,这意味着它不容易(无需修改)被提取并放入另一个没有它所引用/来自的相同服务的微服务应用程序中。 在我看来,要使它们脱钩,有以下几

  • 我正在对Azure应用程序服务中托管的API进行性能测试。每当工作内存集图中出现峰值时,我的API响应时间就会增加。但我的应用程序服务计划显示,只有一个实例在运行,内存就占到了50-55%。 你能向我澄清一下,为什么每次“工作内存集”出现峰值时,API响应时间都在增加,即使我的应用程序服务计划内存只有50%左右? 响应时间图 工作记忆集图

  • 我遇到了这样一种情况,在我们的Azure应用程序服务中为生成了内存不足异常。Net核心Web API,即使内存 我已经查看了这篇SO文章来检查私有字节和其他东西,但仍然没有看到耗尽的内存来自哪里。我看到内存工作集上的最大使用量为1.5GB,远低于7GB。 支持故障排除下没有显示任何内容- 我不知道下一步该去哪里,任何帮助都将不胜感激。

  • AccessibilityService在系统的内存管理方面与普通服务有何不同? 我想问的是:系统可以为了节省内存而关闭AccessibilityService吗?如果可以,当您进入AccessibilityService时,您会看到它打开还是关闭?用户是否必须再次手动打开? 使用startForeground是否有助于使AccessibilityService保持活动状态? 在一个类似的问题中,

  • 我想我们有内存泄漏,但我不知道怎么回事。这似乎只发生在应用程序服务计划上,而不是在其上运行的应用程序服务上。这是Azure中的问题吗?还有其他人经历过吗?详情如下。 ... 每个应用服务计划(Prod和RC)有2个插槽,分别运行3个和1个实例。每个实例都显示出3-5%的内存使用率,在RC上通常约为3%,因为流量低得多,在生产上为4-5%。 如果有什么不同的话,我们将使用节点8的标准Microsof

  • 我正在使用Nodejs。我计划增加Nodejs应用程序的内存限制。 在谷歌上搜索时,我发现了这篇文章:增加节点。js内存限制。 作者说他的服务器只有8GB的物理内存,但他的Nodejs进程使用的是28GB的内存。我假设它正在使用物理交换内存。文章还提到,一个著名的Nodejs框架的开发人员为他的Nodejs使用了15GB的内存限制。 我试图从其他编程语言中搜索一些示例。在Java中,将交换内存用于