vcs仿真资源分析

VCS工具的仿真资源分析(1)

在使用新思 vcs 工具进行仿真时,有时出于优化仿真流程和性能调优的考虑(比如发现case运行时间过长的情况),我们需要主动查看仿真过程中内存资源的占用情况和仿真时间。

vcs 工具提供了-reportstats选项,它可以输出仿真运行结束时的简易统计报告。

-reportstats及报告信息分析

使用方式:仿真阶段添加此选项,在仿真结束后会在终端输出报告信息,并默认保存到仿真log中。

统计信息:

img

基本事件信息

  • VCS启动时间
  • Elapsed Time: 从VCS启动到VCS结束挂钟时间,单位为秒
  • CPU Time: 从VCS派生的所有进程中累积的用户时间+系统时间

基本内存使用信息

  • virtual memory size: 虚拟内存大小=物理内存大小+硬盘交换空间大小;

    VCS内部按照内存使用用途分了仿真类型(simulation)和性能分析类型(profiling),性能分析类型占比较大是因为我在这里使用了simprofile进行了性能分析,simprofile会占用额外的资源。

  • resident set size: 常驻集大小总和

  • shared memory size: 共享内存大小总和

  • private memory size: 私有内存大小总和

其他信息

  • major page faults: 主要页错误次数,此处错误不代表失败,只是进程访问了不存在物理内存的页导致的,这代表着需要去硬盘上交换页,而交换页需要访问硬盘,会导致I/O延迟。
  • machine name: 机器名称,实际运行此仿真的机器名称,一般公司内部IT会对机器名称进行限制

以下为查看的一些计算机相关的知识总结,因本人非计算机专业,如果有错误的地方还请见谅,并欢迎指正。

硬盘交换空间(swap sapce)

硬盘交换空间(Swap Space)是操作系统在物理内存不足时,通过硬盘空间扩展虚拟内存的关键机制。其实现方式主要分为两种:​交换分区(Swap Partition)​​ 和交换文件(Swap File)​。

在硬盘上划分独立的物理分区,格式化为专用交换空间。操作系统启动时自动挂载,通过页表管理内存页与磁盘块的映射关系。

交换分区

在硬盘上划分独立的物理分区,格式化为专用交换空间。操作系统启动时自动挂载,通过页表管理内存页与磁盘块的映射关系

  • ​优点​:性能较高(直接访问磁盘块,减少文件系统开销),稳定性强
  • ​缺点​:需提前预留分区,调整大小需重分区(灵活性低)

交换文件

在现有文件系统(如ext4)中创建固定大小的文件,通过内核将其识别为交换空间。数据以 ​4KB页​ 为单位在内存与文件间交换。

  • ​优点​:无需分区,可动态调整大小(如从1GB扩容至2GB),适配灵活场景
  • ​缺点​:受文件系统性能影响(如碎片化),I/O延迟略高于交换分区

虚拟内存

虚拟内存是操作系统提供的一种逻辑抽象的内存,它将硬盘上的空间映射到内存中,以实现更大的内存容量。

  • ​优点​:无需分区,可动态调整大小(如从1GB扩容至2GB),适配灵活场景
  • ​缺点​:受文件系统性能影响(如碎片化),I/O延迟略高于交换分区

以下是个人理解的不同类型的内存间关系图:

graph TD subgraph 虚拟内存[虚拟内存<br/>Virtual Memory] direction TB subgraph 常驻内存[常驻内存<br/>Resident Memory] SHR_R[共享内存常驻部分<br/>Shared Memory - Resident] PRV_R[私有内存常驻部分<br/>Private Memory - Resident] end HD_SWAP[硬盘交换空间<br/>Hard Disk Swap Space] end subgraph 共享内存[共享内存<br/>Shared Memory] SHR[共享内存主体<br/>Shared Memory - Main] end subgraph 私有内存[私有内存<br/>Private Memory] PRV[私有内存主体<br/>Private Memory - Main] end %% 关系连接 虚拟内存 --> 常驻内存 虚拟内存 --> HD_SWAP 常驻内存 --> SHR_R 常驻内存 --> PRV_R 共享内存 --> SHR_R 私有内存 --> PRV_R SHR --> HD_SWAP PRV --> HD_SWAP
posted @ 2025-07-12 14:45  justifice  阅读(64)  评论(0)    收藏  举报