打开FPR文件时,Fortify AWB内存不足。在进入平台之前,java进程爬升到大约1150mb,然后显示错误消息。我尝试将AWB_VM_OPTS和SCA_VM_OPTS设置为-Xmx4G,但分配的内存量似乎没有变化。
可以做些什么来增加分配的内存量?
答案 0 :(得分:1)
运行SCA时,所需的物理RAM量取决于许多因素。这些因素(包括源文件的大小和复杂性)使得无法量化和提供指导 - 每种情况都是独一无二的。如果确实遇到内存不足错误,增加SCA可用的内存量可能会解决问题。
默认情况下,SCA最多使用600 MB内存。如果这不足以分析特定的代码库,则可能必须在扫描阶段提供更多内存。这可以通过将-Xmx选项传递给sourceanalyzer命令来完成。
例如,要使SCA可以使用1000 MB,请包含选项-Xmx1000M。 您还可以使用SCA_VM_OPTS环境变量来设置内存分配。
不要为SCA分配比机器可用内存更多的内存,因为这会降低性能。作为指导原则,假设没有其他内存密集型进程在运行,请不要分配超过2/3的可用物理内存。
如果内存问题仍然存在,请将Windows分页文件设置为固定数量,大约是计算机硬件RAM量的1.5倍。转到“系统属性”,选择“性能设置”。然后在“高级”选项卡下,记下“所有驱动器的总页面文件大小。”该数量应与计算机中的硬件RAM数量相匹配。按“更改”按钮;取消选中“自动管理所有驱动器的页面文件大小。”选择“自定义大小”选项,并输入计算机RAM大小的1.5倍作为“初始大小”和“最大大小”。
答案 1 :(得分:1)
我们通过打开文件 C:\Program Files\Fortify\Fortify_SCA_and_Apps_20.1.0\bin\auditworkbench.cmd
并将其添加到“call
”命令的末尾解决了这个问题:
-Xmx10G -64
所以,之后,我们的行看起来像这样:
call "%~dp0\..\Core\private-bin\awb\productlaunch.cmd" -showSplash platform:/base/plugins/com.fortify.awb.app/splash.bmp -application com.fortify.awb.app.Main -product com.fortify.awb.app.MainProduct "-Dosgi.splashPath=platform:/base/plugins/com.fortify.awb.app" %* -Xmx10G -64
答案 2 :(得分:0)
在确认AWB_VM_OPTS是我想要更改的值之后,我决定创建一个设置值的短脚本,然后调用启动应用程序的AWB bat文件。以前我在命令提示符下手动设置AWB_VM_OPTS。我将值设置为4096M而不是4G,并且工作正常。
答案 3 :(得分:0)
C:\ Program Files \ Fortify \ Fortify_SCA_and_Apps_18.20 \ Core \ config \ fortify.properties com.fortify.model.ExecMemorySetting = 5460M
C:\ Program Files \ Fortify \ Fortify_SCA_and_Apps_18.20 \ bin \ auditworkbench.cmd 设置SCA_VM_OPTS = -Xmx5460M
答案 4 :(得分:0)
对此的最佳解决方案是不编辑环境变量。如果您已完成此操作,请将其删除并按照以下步骤操作。注意这适用于 SCA 20.2+
start "Fortify" /B /MIN "%FORTIFY_CORE%\private-bin\awb\eclipse\eclipse.exe" -vm "%JAVA_CMD%" -startup "%FORTIFY_CORE%\lib\awb-startup-20.2. 2.0003.jar”-os win32 -ws win32 -arch x86_64 %USER_OPTS% %AWB_ARGS% -vmargs -Xmx12G -XX:-UseCompressedOops %AWB_VM_OPTS% %USER_VM_OPTS% -Dcom.fortify.InstallRoot_%FORtify >YHOME_%FORTI >