28.06.2014 Views

Performance Tuning Siebel Software on the Sun Platform

Performance Tuning Siebel Software on the Sun Platform

Performance Tuning Siebel Software on the Sun Platform

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Investigating <strong>the</strong> Reas<strong>on</strong> for <strong>the</strong> Failure<br />

The .shm file that was being created during startup will be memory-mapped and be part<br />

of <strong>the</strong> heap size of <strong>the</strong> siebsvc process. That means <strong>the</strong> process size of siebsvc<br />

process grows proporti<strong>on</strong>ally with <strong>the</strong> increase in <strong>the</strong> size of <strong>the</strong> .shm file.<br />

With 9500 MaxTask c<strong>on</strong>figured, an .shm file of size 1.15Gbytes was created during<br />

server startup:<br />

siebapp6:/tmp/%ls -l /export/siebsrvr/admin/siebel.sdcv480s002.shm<br />

-rwx------ 1 sunperf o<strong>the</strong>r 1212096512 Jan 24 11:44<br />

/export/siebsrvr/admin/siebel.sdcv480s002.shm<br />

And <strong>the</strong> siebsvc had a process size of 1.14Gbytes when <strong>the</strong> process died abruptly:<br />

PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP<br />

25309 sunperf 1174M 1169M sleep 60 0 0:00:06 6.5% siebsvc/1<br />

A truss of <strong>the</strong> process reveals that it is trying to mmap a file 1.15Gbytes in size and fails<br />

with ENOMEM.<br />

Here is <strong>the</strong> truss output:<br />

8150: brk(0x5192BF78) = 0<br />

8150: open("/export/siebsrvr/admin/siebel_siebapp6.shm", O_RDWR|O_CREAT|O_EXCL, 0700)<br />

= 9<br />

8150: write(9, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1367736320) = 1367736320<br />

8150: mmap(0x00000000, 1367736320, PROT_READ|PROT_WRITE, MAP_SHARED, 9, 0) Err#12<br />

ENOMEM<br />

If <strong>the</strong> mmap succeeds, <strong>the</strong> process may have a process size > 2Gbytes. Because <str<strong>on</strong>g>Siebel</str<strong>on</strong>g><br />

is a 32-bit applicati<strong>on</strong>, it can have a process size up to 4Gbytes (2^32 = 4Gbytes) <strong>on</strong> <strong>the</strong><br />

Solaris OS. But in our case, <strong>the</strong> process failed with a size just over 2Gbytes.<br />

<str<strong>on</strong>g>Performance</str<strong>on</strong>g> <str<strong>on</strong>g>Tuning</str<strong>on</strong>g> <str<strong>on</strong>g>Siebel</str<strong>on</strong>g> <str<strong>on</strong>g>Software</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>Sun</strong> <strong>Platform</strong> Page 31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!