Problem Note 67620: A hash object in SAS® 9.4M7 (TS1M7) might consume significantly more memory than it did in previous releases
A hash object in SAS 9.4M7 might consume significantly more memory than in previous SAS releases, and this issue can cause out-of-memory conditions.
This problem occurs when the HASHEXP method is not specified when defining the hash object. The amount of memory that is allocated can vary, depending on the data within the defined hash.
The workaround is to define the hash object with the HASHEXP method, as illustrated by the syntax fragment below:
data HASH_LOOKUP;
if _n_ eq 1 then do;
declare hash H (dataset: "TEST_DSET (where=(CHAR1 eq 'ABCDE'))",HASHEXP:8);
...more code...
The default for HASHEXP was hardwired at 8 in SAS® 9.4M6 (TS1M6) and earlier. In SAS 9.4M7 and later, the default changed (it is determined dynamically in SAS 9.4M7). However, specifying HASHEXP:8 in the DECLARE statement will dramatically reduce the step memory footprint than not coding the method. The value for the HASHEXP method depends on usage. It is recommended that you test different values to find the optimal value for each case.
Operating System and Release Information
| SAS System | Base SAS | z/OS | 9.4_M7 | | 9.4 TS1M7 | |
| z/OS 64-bit | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft® Windows® for x64 | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows 8 Enterprise 32-bit | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows 8 Enterprise x64 | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows 8 Pro 32-bit | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows 8 Pro x64 | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows 8.1 Enterprise 32-bit | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows 8.1 Enterprise x64 | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows 8.1 Pro 32-bit | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows 8.1 Pro x64 | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows 10 | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2008 | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2008 R2 | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2008 for x64 | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2012 Datacenter | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2012 R2 Datacenter | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2012 R2 Std | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2012 Std | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2016 | 9.4_M7 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2019 | 9.4_M7 | | 9.4 TS1M7 | |
| Windows 7 Enterprise 32 bit | 9.4_M7 | | 9.4 TS1M7 | |
| Windows 7 Enterprise x64 | 9.4_M7 | | 9.4 TS1M7 | |
| Windows 7 Home Premium 32 bit | 9.4_M7 | | 9.4 TS1M7 | |
| Windows 7 Home Premium x64 | 9.4_M7 | | 9.4 TS1M7 | |
| Windows 7 Professional 32 bit | 9.4_M7 | | 9.4 TS1M7 | |
| Windows 7 Professional x64 | 9.4_M7 | | 9.4 TS1M7 | |
| Windows 7 Ultimate 32 bit | 9.4_M7 | | 9.4 TS1M7 | |
| Windows 7 Ultimate x64 | 9.4_M7 | | 9.4 TS1M7 | |
| 64-bit Enabled AIX | 9.4_M7 | | 9.4 TS1M7 | |
| 64-bit Enabled Solaris | 9.4_M7 | | 9.4 TS1M7 | |
| HP-UX IPF | 9.4_M7 | | 9.4 TS1M7 | |
| Linux for x64 | 9.4_M7 | | 9.4 TS1M7 | |
| Solaris for x64 | 9.4_M7 | | 9.4 TS1M7 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
| Type: | Problem Note |
| Priority: | medium |
| Date Modified: | 2024-10-17 14:54:36 |
| Date Created: | 2021-03-18 02:50:24 |