7.8 Control Memory Used by Embedded R
How to control the memory used by embedded R execution.
You can control the memory used by embedded R execution by limiting the heap memory (vector and cons in R terminology) that is automatically managed by the R gc mechanism. To limit the size of heap memory in the database, use the sys.rqconfigset utility. The keyword arguments for sys.rqconfigset are described in the following table.
Table 7-1 SYS.RQCONFIGSET Keyword Arguments
| Keyword | Default | Description |
|---|---|---|
|
|
|
Minimum R vector heap memory |
|
|
|
Maximum R vector heap memory |
|
|
|
Minimum number of R cons cells |
|
|
|
Maximum number of R cons cells |
Example 7-5 SQL Commands for Controlling Memory Used by Embedded R
-- Set the minimum R vector heap memory to 20M
EXEC sys.rqconfigset('MIN_VSIZE', '20M');
-- Set the maximum R vector heap memory to 100M
EXEC sys.rqconfigset('MAX_VSIZE', '100M')
-- Set the minimum number of R cons cells to 500x1024
EXEC sys.rqconfigset('MIN_NSIZE', '500K');
-- Set the maximum number of R cons cells to 10x10x1024
EXEC sys.rqconfigset('MAX_NSIZE', '10M');
-- Set maximum vector heap memory and maximum cons cells to unlimited
EXEC sys.rqconfigset('MAX_VSIZE', NULL);
EXEC sys.rqconfigset('MAX_NSIZE', NULL);Note:
The sys.rqconfigset procedure does not control the C type memory that may be allocated by Calloc, Realloc, calloc, or malloc. Such C type memory is mainly created to hold temporary values used by R functions that are implemented in C. Under normal circumstances, C type memory is limited in size and does not significantly affect the memory usage of R.
The sys.rqconfigset procedure edits settings in a configuration table called sys.rq_config. You can view the contents of this table to verify various environment settings for Oracle Machine Learning for R. Among the settings stored in sys.rq_config are the memory limits for embedded R. If necessary, you can modify these memory limits, however in most cases you should not modify the values in sys.rq_config.
The following query shows sample values stored in sys.rq_config.
SQL> SELECT * FROM sys.rq_config; NAME VALUE ------------------------- ----------------------------------------------------- R_HOME /usr/lib64/R R_LIBS_USER /dbhome_1/R/library VERSION 2.0 MIN_VSIZE 32M MAX_VSIZE 4G MIN_NSIZE 2M MAX_NSIZE 20M
Parent topic: Administrative Tasks for Oracle Machine Learning for R