ENABLE INMEMORY FOR A TABLE IN ORACLE

ENABLE INMEMORY FOR A TABLE IN ORACLE

Check if the inmemory area is enabled in the database with subpools for columnar and metadata

SQL> SELECT POOL,ALLOC_BYTES/ 1048576 ALLOC_MB,
          USED_BYTES/ 1048576 USED_MB,POPULATE_STATUS,
          CON_ID,
          case when POOL='64KB POOL' then 'columnar data pool'
          when POOL='1MB POOL' then 'metadata pool' end "IMCS_subpools"
  FROM v$inmemory_area;

POOL                         ALLOC_MB    USED_MB POPULATE_STATUS                CON_ID IMCS_subpools
-------------------------- ---------- ---------- -------------------------- ---------- ------------------
1MB POOL                         1399          0 DONE                                1 metadata pool
64KB POOL                         584          0 DONE                                1 columnar data pool
1MB POOL                         1399          0 DONE                                2 metadata pool
64KB POOL                         584          0 DONE                                2 columnar data pool
1MB POOL                         1399          0 DONE                                3 metadata pool
64KB POOL                         584          0 DONE                                3 columnar data pool

6 rows selected.

IMCO is the background process which

[oracle@IMTEST ~]$ ps -ef|grep imco|grep -v 'grep'
oracle      2877       1  0 20:47 ?        00:00:00 ora_imco_IMTEST

To place a table in inmemory heap, use the below steps. Check the size of the segment which is going to be placed in inmemory. Ensure that the table size is smaller than the inmemory capacity.

SQL> SELECT bytes/1048576 MB FROM dba_segments WHERE segment_name='YTBL';

        MB
----------
        72

SQL> ALTER TABLE ytbl INMEMORY;

Table altered.
SQL> SELECT inmemory FROM dba_tables WHERE table_name='YTBL';

INMEMORY
--------
ENABLED

To check the columns and their compression level, check v$im_column_level. If the whole table is placed in inmemory, then all the columns are enabled for inmemory processing.

SQL> SELECT * FROM v$im_column_level;

   INST_ID OWNER                   OBJ_NUM TABLE_NAME           SEGMENT_COLUMN_ID COLUMN_NAME          INMEMORY_COMPRESSION     CON_ID
---------- -------------------- ---------- -------------------- ----------------- -------------------- -------------------- ----------
         1 KISH                      73275 YTBL                                 1 XNAME                DEFAULT                       1
         1 KISH                      73275 YTBL                                 2 XID                  DEFAULT                       1
         1 KISH                      73275 YTBL                                 3 CITY                 DEFAULT                       1
         1 KISH                      73275 YTBL                                 4 COUNTRY              DEFAULT                       1
         1 KISH                      73275 YTBL                                 5 DEPARTMENT           DEFAULT                       1
         1 KISH                      73275 YTBL                                 6 DEP_ID               DEFAULT                       1
         1 KISH                      73275 YTBL                                 7 XDATE                DEFAULT                       1
         1 KISH                      73275 YTBL                                 8 SALARY               DEFAULT                       1

8 rows selected.

After placing the table inmemory, the plan shows “TABLE ACCESS INMEMORY FULL” operations in execution plan which means that the benefits of inmemory is utilized for cost based optimization by optimizer.

SQL> set autot traceonly explain
SQL> SELECT xid,city FROM ytbl WHERE salary > 1000;

Execution Plan
----------------------------------------------------------
Plan hash value: 2390399380

-----------------------------------------------------------------------------------
| Id  | Operation                  | Name | Rows  | Bytes | Cost (%CPU)| Time     |
-----------------------------------------------------------------------------------
|   0 | SELECT STATEMENT           |      |   999K|    17M|  2234   (1)| 00:00:01 |
|*  1 |  TABLE ACCESS INMEMORY FULL| YTBL |   999K|    17M|  2234   (1)| 00:00:01 |
-----------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - inmemory("SALARY">1000)
       filter("SALARY">1000)

Tracing IMCO shows the following lines during a select on inmemory table. Also PMON is monitoring the IMCO process to check necessity of restart

     6.016085 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=262457}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.000040 openat(AT_FDCWD, "/proc/2787/stat", O_RDONLY) = 9
     0.000029 read(9, "2787 (ora_pmon_imtest) S 1 2787 "..., 999) = 303
     0.000152 close(9)                  = 0
     0.000783 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=262933}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.000507 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=263113}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.000139 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=263140}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.003124 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=265951}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.002630 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=267968}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.001389 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=269039}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0

     5.952023 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=269943}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.000069 openat(AT_FDCWD, "/proc/2787/stat", O_RDONLY) = 9
     0.000126 read(9, "2787 (ora_pmon_imtest) S 1 2787 "..., 999) = 303
     0.000151 close(9)                  = 0
     0.001354 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=271101}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.000984 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=271886}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.000118 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=271893}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.000360 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=271959}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.000275 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272000}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.000248 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272059}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.000110 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272069}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.000328 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272111}, ru_stime={tv_sec=0, tv_usec=12450}, ...}) = 0
     0.000953 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272737}, ru_stime={tv_sec=0, tv_usec=12467}, ...}) = 0
     0.000263 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272748}, ru_stime={tv_sec=0, tv_usec=12468}, ...}) = 0
     0.000192 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272810}, ru_stime={tv_sec=0, tv_usec=12470}, ...}) = 0
     0.000104 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272817}, ru_stime={tv_sec=0, tv_usec=12471}, ...}) = 0
     0.000209 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272848}, ru_stime={tv_sec=0, tv_usec=12472}, ...}) = 0
     0.000171 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272860}, ru_stime={tv_sec=0, tv_usec=12473}, ...}) = 0
     0.000345 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272913}, ru_stime={tv_sec=0, tv_usec=12475}, ...}) = 0
     0.000133 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272930}, ru_stime={tv_sec=0, tv_usec=12476}, ...}) = 0
     0.000273 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272955}, ru_stime={tv_sec=0, tv_usec=12477}, ...}) = 0
     0.000130 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272986}, ru_stime={tv_sec=0, tv_usec=12478}, ...}) = 0
     0.000198 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=272995}, ru_stime={tv_sec=0, tv_usec=12479}, ...}) = 0
     0.000385 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=273072}, ru_stime={tv_sec=0, tv_usec=12482}, ...}) = 0
     0.001023 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=273079}, ru_stime={tv_sec=0, tv_usec=13235}, ...}) = 0
     0.000294 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=273140}, ru_stime={tv_sec=0, tv_usec=13238}, ...}) = 0
     0.000110 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=273150}, ru_stime={tv_sec=0, tv_usec=13238}, ...}) = 0
     0.000254 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=273179}, ru_stime={tv_sec=0, tv_usec=13239}, ...}) = 0
     0.000103 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=273188}, ru_stime={tv_sec=0, tv_usec=13240}, ...}) = 0
     0.000174 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=273217}, ru_stime={tv_sec=0, tv_usec=13241}, ...}) = 0
     0.000350 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=273269}, ru_stime={tv_sec=0, tv_usec=13244}, ...}) = 0
     0.000107 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=273279}, ru_stime={tv_sec=0, tv_usec=13244}, ...}) = 0
     0.000187 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=273308}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.001018 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=274051}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000082 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=274056}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000113 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=274090}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000105 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=274096}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000140 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=274123}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000131 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=274165}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000192 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=274243}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000099 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=274271}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.001034 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=275164}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000137 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=275220}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000131 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=275274}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.001235 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=276368}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.001235 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=277488}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.001044 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=278411}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000608 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=278900}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.001657 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=280432}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.002180 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=282491}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000926 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=312, ...}) = 0
     0.000105 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=283301}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000133 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=283307}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000121 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=283350}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000126 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=283388}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000445 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=312, ...}) = 0
     0.000488 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=312, ...}) = 0
     0.000075 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=284091}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.001061 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=284952}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.001421 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=286244}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.005180 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=291149}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.001771 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=292768}, ru_stime={tv_sec=0, tv_usec=13246}, ...}) = 0
     0.000410 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
     0.000270 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000164 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000294 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000245 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000269 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000122 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000079 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000162 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000197 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000099 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000114 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000139 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000245 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000045 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000141 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000131 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000113 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
     0.000297 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000047 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000167 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000156 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000244 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000162 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000126 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000130 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000169 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000151 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000057 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000316 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000195 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000055 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000150 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000149 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000222 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
     0.000161 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000037 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000168 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000111 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000164 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000045 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000083 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000077 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000114 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000062 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000164 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000119 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000123 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000183 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000068 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000118 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000309 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
     0.000211 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000102 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000121 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000242 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000124 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000121 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000044 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000271 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000218 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000091 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000157 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000181 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000183 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000076 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000058 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000156 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000196 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
     0.000170 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000036 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000077 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000233 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000140 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000032 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000119 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000125 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000116 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000065 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000137 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000092 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000116 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000069 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000114 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000112 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000184 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
     0.000136 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000032 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000112 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000071 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000229 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000063 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000162 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000096 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000110 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000055 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000106 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000116 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000121 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
     0.000060 rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
     0.000111 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
     0.000127 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
     0.000187 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=292868}, ru_stime={tv_sec=0, tv_usec=15201}, ...}) = 0
     0.001627 getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=0, tv_usec=294306}, ru_stime={tv_sec=0, tv_usec=15220}, ...}) = 0

Leave a Reply

%d bloggers like this: