首页 > 系统相关 >【Azure App Service】在App Service for Windows上验证能占用的内存最大值Y5

【Azure App Service】在App Service for Windows上验证能占用的内存最大值Y5

时间:2024-11-14 13:46:42浏览次数:1  
标签:Service Windows app 内存 占用 bit App

问题描述

在创建App Service服务的时候,根据定价层不同,内存使用的最大值也有不同。但在实际测试中,发现内存最大只能占用2GB左右,

而定价层中内存分配明明是大于2GB(比如B3定价层的内存为7GB), 这是一种什么情况呢?

在App Service中Kudu工具上,查看进程分配的内存大小:

问题解答

使用一段简短C#代码来进行验证,代码是一个循环,根据URL中输入的数字,循环创建多个100MB大小的对象.

var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
var app = builder.Build();

app.MapGet("/oom/{objs}", (string objs) =>
{
    int objunmbers = int.Parse(objs);
    try
    {
        byte[][] largeArray = new byte[objunmbers][];
        for (int i = 0; i < objunmbers; i++)
        {
            largeArray[i] = new byte[1024 * 1024 * 100]; // 每个对象占用100MB
        }
        return "成功创建大数组对象: " + objs;
    }
    catch (OutOfMemoryException)
    {
        return "内存不足,无法创建大数组对象";
    }
});

app.Run();

代码本地调试,可以看见应用占用内存直线上涨:

部署到Azure App Service后,同样通过Kudu站点Process信息,发现内存的占用的确只有2GB左右,但请求需要更多内存资源时,页面返回:内存不足,无法创建大数组对象

这是因为App Service for Windows默认使用32位操作系统,最大内存只能分配2GB。

当主动修改位64位后,App Service 内存就可以占用到定价层所允许的最大值!

如B3的定价层在Kudu中查看到w3wp.exe进程分配的内存达到了6GB

根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。

参考资料

I see the message "Worker Process requested recycle due to 'Percent Memory' limit." How do I address this issue?

https://learn.microsoft.com/en-us/troubleshoot/azure/app-service/web-apps-performance-faqs#i-see-the-message-worker-process-requested-recycle-due-to-percent-memory-limit-how-do-i-address-this-issue

The maximum available amount of memory for a 32-bit process (even on a 64-bit operating system) is 2 GB. By default, the worker process is set to 32-bit in App Service (for compatibility with legacy web applications).

Consider switching to 64-bit processes so you can take advantage of the additional memory available in your Web Worker role. This triggers a web app restart, so schedule accordingly.

Also note that a 64-bit environment requires a Basic or Standard service plan. Free and Shared plans always run in a 32-bit environment.

本博客参考westworld加速。转载请注明出处!

标签:Service,Windows,app,内存,占用,bit,App
From: https://www.cnblogs.com/westworldss/p/18545830

相关文章

  • .NET 8 强大功能 IHostedService 与 BackgroundService 实战
    前言在.NET8中,IHostedService和BackgroundService两个核心接口的引入,增强了项目开发中处理定时任务的能力。这两个接口不仅简化了定时任务、后台处理作业以及定期维护任务的实现过程,还提升了在ASP.NETCore或任何基于.NET的宿主应用程序中的集成与管理效率。IHostedService......
  • 安装宝塔 Windows 面板
    操作场景宝塔面板是一款使用很方便、功能强大、交互友好且终身免费的服务器管理软件,支持Linux与Windows系统。在宝塔面板中,您可以一键配置LAMP、LNMP、网站、数据库、FTP、SSL,还可以通过Web端轻松管理服务器。本文介绍如何在Windows操作系统的云服务器上通过腾讯云......
  • 百万前端之uniapp开发微信小程序快速上手
    uniapp,一端开发多端使用。在使用uniapp开发之前必须要先掌握vue的语法,因为uniapp是基于vue的语法进行开发的。下载好HBuilderX工具进行开发,事半功倍。开发工具:HBuilderX、微信开发者工具(预览小程序)开发环境:node.js 1.创建项目使用uni-ui多端兼容,开发更高效!2.基础配置......
  • uni-app使用watch监听数据,当数据变化时页面没有根据变化数据渲染解决方法
    uni-app使用<Fudian:fenshuj="fenshuj"></Fudian>父传子数据时,子组件通过import{ref,onMounted,watch,watchEffect,defineProps}from"vue";   constprops=defineProps({      fenshuj:{         type:String,        ......
  • 关闭 Windows 中的各种广告和提示信息,你可以通过修改注册表(.reg 文件)来实现。这些设置
    关闭Windows中的各种广告和提示信息,你可以通过修改注册表(.reg文件)来实现。这些设置可以帮助你屏蔽掉一些烦人的广告和推荐内容。以下是可以通过.reg文件关闭的功能的注册表条目。1. 关闭文件管理器广告文件资源管理器中的广告(如OneDrive提示或其他推荐内容)可以通过以下......
  • Windows激活神器HEU KMS Activator v42.3.1
    软件介绍HEUKMSActivator,简洁高效的全能KMS/OEM激活工具,适用所有Windows,Office版本,无需联网即可一键激活,支持UEFI的KMS激活工具。KMS服务是微软对Windows,Office等产品的批量许可服务,利用KMS可以激活局域网内的产品。该工具利用KMS机制在系统搭建KMS服务器,从而实现在线或离......
  • 同城圈子APP隐私设置指南,社交圈子源码,前端uniapp,后端PHP
    圈子系统APP-uniapp源码开源社交圈子小程序社区系统兴趣爱好同城社交社群系统同城圈子APP隐私设置因应用而异,以下为通用步骤:1、进入隐私设置打开APP,点击底部导航栏的“我的”。进入“设置”页面,选择“隐私设置”。2、隐藏位置信息在隐私设置中,找到并点击“隐藏位置”选......
  • 如何分发APP供用户使用?
    ​在移动互联网时代,APP(应用程序)已成为人们日常生活中不可或缺的一部分。无论是购物、社交、娱乐还是工作,APP都提供了极大的便利。然而,开发一款APP只是第一步,如何将其有效地分发到用户手中,让用户能够轻松下载并使用,才是决定APP成功与否的关键。一、应用商店分发应用商店是APP分发......
  • vue2的uniapp添加用户登录校验
    在uni-app中实现全局路由守卫的确切方法可能会根据框架的版本和具体的实现方式有所不同。在Vue2和uni-app的结合使用中,全局路由守卫并不是原生支持的功能,因此我们需要采用一些替代方案。对于Vue2和uni-app,你可以通过封装uni-app的页面跳转方法来实现类似全局......
  • 移动端弱网优化专题(十四):携程APP移动网络优化实践(弱网识别篇)
    本文由携程技术团队Aaron分享,原题“干货|携程弱网识别技术探索”,下文进行了排版和内容优化。1、引言网络优化一直是移动互联网时代的热议话题,弱网识别作为移动端弱网优化的第一步,受到的关注和讨论也是最多的。本文从方案设计、代码开发到技术落地,详尽的分享了携程在移动端弱......