当前位置: 首页 > news >正文

C# AOT生成的hellowwordEXE运行占用多少内存1-5MB?

C# 使用 AOT(Ahead - Of - Time,提前编译)生成的 "Hello, World!" 可执行文件在运行时占用的内存会受到多种因素的影响,以下是详细分析:

影响内存占用的因素

  1. 操作系统:不同的操作系统(如 Windows、Linux、macOS)对进程的内存管理机制不同,会导致内存占用有所差异。
  2. 运行环境:包括系统中已运行的其他程序、系统的内存管理策略等。
  3. 编译器和运行时配置:不同版本的 .NET SDK 以及编译时的配置选项(如优化级别)会影响生成的可执行文件的内存占用。

大致的内存占用情况

  • Windows 系统
    • 在 Windows 上,使用 .NET 6 及更高版本的 AOT 编译生成的简单 "Hello, World!" 程序,初始内存占用通常在几兆字节左右。具体来说,可能在 2 - 5 MB 之间。这其中包含了程序本身的代码段、数据段所占用的内存,以及操作系统为进程分配的一些基本资源(如栈空间等)。
  • Linux 系统
    • 在 Linux 系统中,内存占用一般会相对更低一些。同样的 "Hello, World!" AOT 程序,初始内存占用可能在 1 - 3 MB 左右。这是因为 Linux 的内存管理机制更加轻量级,并且对于一些系统资源的分配更为高效。

示例代码及编译运行步骤

示例代码(Program.cs

csharp

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Hello, World!");
    }
}

编译为 AOT 可执行文件

确保你已经安装了 .NET 6 或更高版本的 SDK。在终端中执行以下命令:

dotnet publish -r <runtime-identifier> -p:PublishAot=true

其中 <runtime-identifier> 根据你的目标系统进行替换,例如:

  • 对于 Windows x64 系统,使用 win-x64
  • 对于 Linux x64 系统,使用 linux-x64
查看内存占用
  • Windows:可以使用任务管理器查看程序的内存占用情况。在任务管理器的 “详细信息” 选项卡中找到对应的可执行文件,查看其 “内存(专用工作集)” 列。
  • Linux:可以使用 top 或 ps 命令查看程序的内存占用。例如,使用 ps -p <进程 ID> -o %mem,rss 命令,其中 <进程 ID> 是程序的进程 ID。
http://www.dtcms.com/a/65473.html

相关文章:

  • 在线招聘小程序:AI简历筛选与精准职位推荐服务
  • 并发设计_第八章_《C++并发编程实战》笔记
  • CMU15445(2023fall) Project #2 - Extendible Hash Index 匠心分析
  • 区块链与去中心化技术
  • 视频编码中视频帧的类型解析
  • solana区块链地址生成
  • CTFHub技能树-Web-SSRF 解题方法
  • EtherCAT OpenEuler Web控制启动
  • Docker的使用
  • 云容灾落地指南:华为云主备容灾RTO和RPO最佳实践
  • 健康医疗大数据——医疗影像
  • C++ string类(前)
  • 责任链模式如何减少模块之间的耦合
  • 源IP泄露后如何涅槃重生?高可用架构与自动化防御体系设计
  • 本地部署deepseek,局域网链接,添加个人知识库
  • 使用Leaflet 搭建一个前端地图项目,实现类似原神、黑神话悟空的标点互动地图效果
  • CNN的激活函数
  • ElasticSearch入门及安装 ( 一 )
  • MySQL---INSERT语句、UPDATE语句、DELETE语句
  • 深入解析AI音乐创作原理:从算法到艺术
  • 如何搭建一个适配微信小程序,h5,app的uni-app项目
  • 数字化新零售与 AI 大模型,如何重塑大健康赛道?​
  • 食品饮料制造行业的现状 内检实验室系统在食品饮料制造行业应用
  • kettle ETL 配置
  • 图论·拓扑排序
  • Arthas解决CPU飙高和定位死锁问题,JProfiler解决OOM问题
  • 支付宝小程序评论提升策略:打造高互动度的用户体验
  • TONGYI Lingma(通义灵码),GitHub Copilot和Cursor 对比
  • 树莓集团落子海南,如何重构数字产业生态体系​
  • 第27周JavaSpringboot电商进阶开发 3.常见问题解答