vcs仿真资源分析
VCS工具的仿真资源分析(1)
在使用新思 vcs 工具进行仿真时,有时出于优化仿真流程和性能调优的考虑(比如发现case运行时间过长的情况),我们需要主动查看仿真过程中内存资源的占用情况和仿真时间。
vcs 工具提供了-reportstats选项,它可以输出仿真运行结束时的简易统计报告。
-reportstats及报告信息分析
使用方式:仿真阶段添加此选项,在仿真结束后会在终端输出报告信息,并默认保存到仿真log中。
统计信息:
基本事件信息
- 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延迟略高于交换分区
以下是个人理解的不同类型的内存间关系图: