0

我有一个很长的模拟,我需要提高它的性能。我在日志文件中看到如下消息:“GC 期间内存不足,将尝试基于磁盘的 GC”,这需要大量模拟时间。Specman当时在做什么,我怎样才能消除它以提高运行时间?

4

5 回答 5

1

如上所述,Specman 正在执行基于磁盘的 GC,因为您在常规 GC 期间内存不足(这会在该过程中消耗内存)。写入磁盘很慢,这就是你的模拟很慢的原因。使用配置内存 -disable_disk_based_gc。这将激活动态 GC,这比基于磁盘的 GC 快得多,并且在过程中消耗的内存比常规 GC 更少。

于 2014-05-14T11:01:15.603 回答
0

Specman 正在使用磁盘空间进行垃圾收集。它速度较慢,但​​使用的 CPU 较少。在配置中有一个选项可以取消磁盘垃圾收集。

于 2014-05-13T09:44:35.600 回答
0

您的模拟缺少 Ram。Specman 尝试使用磁盘驱动器来访问更多内存。磁盘访问很慢。除了为 gc_threshold 和 optimize_process_sise 配置更好的值之外,您还可以使用动态 GC 来获得更好的性能。

于 2014-05-13T09:39:29.873 回答
0

您会收到这些消息,因为 specman 正在尝试进行垃圾收集,并且在此过程中内存不足,因此它切换到基于剑麻的 gc。为了提高性能,您可以增加optimal_process_size 为gc 提供更多内存,或者禁用基于磁盘的gc。在后一种情况下,specman 将使用动态 gc 更快

于 2014-05-13T09:14:55.300 回答
0

Specman 正在执行垃圾收集 (gc) 以释放不再使用的对象的内存。一般来说,这很好,否则你必须自己做,就像在 C/C++ 中一样。您可以使用 config memory 命令控制 GC 阈值和增量。使用较低的阈值来防止内存不足。

于 2014-05-13T09:10:05.223 回答