This content has been marked as final. Show 5 replies
On Linux, I can see an increase between 10.2 and 11.2 Instant Client but not as dramatic as the one you see on Solaris.
Was PHP running the same application for the same length of time?
Where did the 10.2 Instant Client come from - was it the Basic or Basic Lite package? Can you test using the Solaris Instant Client zip files?
The RSS memory should be shared by all processes using Instant Client and shouldn't be duplicated. Check Oracle Support note "How to Tell How Much Memory is Being Used by a Process with Solaris [ID 1003055.1]"
The problems doesn't appear to be PHP related. The best places to follow up are one of the Solaris forums https://forums.oracle.com/forums/category.jspa?categoryID=303 and the Instant Client forum Instant Client
Thank you for your answer. You inspired me to search for shared memory and I've discovered that on the old system I can see shared memory (ipcs command below), but on the new system, there is no shared memory (empty list from ipcs command).
ipcs -ma(PID number is apache master process)
IPC status from <running system> as of Wed Sep 19 10:04:02 CEST 2012
T ID KEY MODE OWNER GROUP CREATOR CGROUP NATTCH SEGSZ CPID LPID ATIME DTIME CTIME
m 50331666 0x100876e rw----- root root root root 7 80924 2298 2298 9:28:35 no-entry 9:28:35
Is there any php compile option to enable this?
My configure args:
./configure prefix=/usr/local/php with-config-file-path=/usr/local/php/lib with-libxml-dir=/usr/local with-zlib=/usr/local with-xpm-dir=/usr/local with-mysql=/usr/local/mysql with-mysqli=/usr/local/mysql/bin/mysql_config with-apxs2=/usr/local/apache2/bin/apxs without-pgsql with-jpeg-dir=/usr/local/lib with-zlib-dir=/usr/local/lib with-gd=/usr/local enable-mbstring enable-shared enable-exif enable-sockets enable-soap with-png-dir=/usr/local/lib with-curl=/usr/local with-ldap=/usr/local with-openssl=/usr/local/ssl with-gettext with-pcre-dir=/usr/local with-freetype-dir=/usr/local with-mssql=/usr/local/freetds with-oci8=instantclient,/opt/instantclient_10_2
./configure prefix=/usr/local libexecdir=/usr/local/libexec/php5 with-config-file-path=/usr/local/etc/php5 with-config-file-scan-dir=/usr/local/etc/php5/conf.d with-exec-dir=/usr/local/bin with-apxs2=/usr/apache2/2.2/bin/apxs disable-static enable-dom=shared with-openssl=shared,/usr with-openssl-dir=/usr with-zlib=shared,/usr with-curl=shared,/usr with-iconv=shared with-gd with-jpeg-dir=/usr with-png-dir=/usr with-zlib-dir=/usr with-xpm-dir=/usr with-freetype-dir=/usr enable-gd-native-ttf enable-gd-jis-conv enable-exif=shared with-gettext=shared,/usr enable-mbstring=shared enable-pdo=yes with-mysql=shared,/usr/mysql/5.1 with-mysqli=shared,/usr/mysql/5.1/bin/mysql_config with-pdo-mysql=shared,/usr/mysql/5.1/bin/mysql_config with-unixODBC=no with-snmp=no enable-soap=shared enable-sockets=shared enable-sysvmsg=shared enable-sysvsem=shared enable-sysvshm=shared enable-xml with-libexpat-dir=/usr with-xsl=shared,/usr enable-wddx=shared enable-xmlreader=shared with-xmlrpc=shared enable-pcntl=shared with-mime-magic=shared enable-json=shared enable-filter=shared enable-zip=shared with-pcre-regex enable-session=shared with-pear=/usr/local/share/pear enable-cli disable-cgi with-ldap=shared,/usr with-ldap-sasl=no with-libxml-dir=/usr disable-debug with-oci8=instantclient,/opt/solarisstudio12.3/OIC/arch32 --with-mcrypt=/usr
Thank you for any hints.
What's the base problem you have? What are you trying to solve?
Oracle Client doesn't use shared memory. If it did, only user data would be shared; the RSS size wouldn't be affected. (The Oracle Database does use shared memory)
How did you go with the suggestions/questions in my previous comment? It's best to change only one thing when doing comparisons; currently you are changing PHP versions and PHP extensions and Instant Client library versions.
during the delay I've tried this:
1) I've recompiled the php using old options and using newest oracle instant client 11.2 from oracle download site (instantclient-basic + instantclient-sdk).
It did help, but not that much: the apache processes had about 75-90 MB each. It is 10-15 megabytes decrease in average, but still far from 30-40 MB.
2) So I've tried to recompile it using instant client 10.2.
The resulting process size is about 50 MB, which is acceptable. So I'll stick to 10.2 libs (hoping there won't be any problem connecting to 11g database).
So I'll try to answer my original question: yes, it is probably normal that the IC 11 eats that much memory and no, apparently there are no tuning options for that.
Thank you for your help.
I'm not convinced you are interpreting the data you have correctly. We also don't know what load you are under and what your expected usage is. If the extra RSS mem is shared across all processes then the absolute increase per machine is small. Yes, Anon went up - is that a problem? What are you trying to fit on the machine? Without the 11g client you miss out on things like client result caching, DRCP connecting pooling, REF CURSOR prefetching etc. With those things you might find your applications are faster and you need fewer client processes.
Anyway, the Solaris forum folk are more able to help you analyze memory use.