简体   繁体   English

在 SAS 中将 memsize 增加到所需值

[英]Issue increasing memsize to desired value in SAS

I am running a proc mixed code where the default 2GB provides insufficient memory to run.我正在运行一个 proc 混合代码,其中默认的 2GB 提供的 memory 不足以运行。

I changed the memsize in the config file to 4G and it did change to 4GB when checking in proc options; run;我将配置文件中的 memsize 更改为 4G,并且在检查proc options; run; proc options; run; . . However, it is still not enough for proc mixed to execute.但是,proc mixed 执行起来还是不够的。

When I change it to 8G, I ran proc options; run;当我将它更改为 8G 时,我运行了proc options; run; proc options; run; to check the memsize and it was still stuck at 4GB unfortunately.检查内存大小,不幸的是它仍然停留在 4GB。

I have a 16GB computer so I thought I would not come across such an issue.我有一台 16GB 的电脑,所以我想我不会遇到这样的问题。 Is there a workaround?有解决方法吗?

Are you running 64-bit SAS?你运行的是 64 位 SAS 吗? The only reason I can think of it would be limited is if you're using a 32-bit version of SAS, or if you changed the wrong config file.我能想到它会受到限制的唯一原因是,如果您使用的是 SAS 的 32 位版本,或者您更改了错误的配置文件。 The standard config file location should be:标准的配置文件位置应该是:

C:\Program Files\SASHome\SASFoundation\9.4\nls\en\sasv9.cfg

If you're running UTF-8, it is located in:如果您运行的是 UTF-8,它位于:

C:\Program Files\SASHome\SASFoundation\9.4\nls\u8\sasv9.cfg

Changing -MEMSIZE to 8G should change it.将 -MEMSIZE 更改为 8G 应该会改变它。

One test would be to invoke SAS with this option set explicitly:一项测试是调用 SAS 并显式设置此选项:

sas.exe -MEMSIZE 8G

proc options group=memory;
run;

Should show:应该显示:

MEMSIZE=8589934592

If it does not show 8GB, you must be running a 32-bit version of SAS. SAS will automatically set the max memory to 4GB even if the config file is above that value.如果它不显示 8GB,则您必须运行 SAS 的 32 位版本。即使配置文件高于该值,SAS 也会自动将最大 memory 设置为 4GB。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM