Memory tuning imap store
Hello,
i m trying to tune my web application, a web mail, once a user logs in I keep an IMAPStore instance inside the httpsession.
I noticed it takes 6 mb of memory right away, just after connecting to the imap store, once I open a few folder and fetch a few small messages it goes up to 8 or 9 mb.
to get messages i follow this steps:
- openFolder
- fetchmessages
- populate my beans
- invalidateheaders for each imapmessage to release cached data
- call folder.clearCache() (i added this method inside imapfolder to clear messageCache vector)
- close folder
but memory usage is still the same.
Is there anything to reduce memory usage? i should have no more than 1MB per session.
Thank you.
Hi,
I am using MessAdmin to measure HttpSession data.
6mb is the size of IMAPStore, and this size appear even if i don't open a folder, just after getting the store:
session = Session.getInstance(props, auth);
session.setDebug(debug);
store = (IMAPStore) session.getStore(imap);
store.connect();session and store object measure 6mb.
If you have a better tool please let me know.
thank you
Similar Messages
-
Any memory tuning to improve window 7 enterprise performance? Pls advice
Hey Sam,
There are some things that can improve performance, because I wrote things that moderators do not have the specs of the computer and the software installed.
Cooling is important to have a good enough computer, and check the temperature of the processor (Fans often recommended to replace it incredibly improves performance)
Check out time access I / O hard disk (using Disk HIRENS possible) and check the disk responds correctly (50-100) and no BAD SECTOR.
Consider replacing the hard disk type SSD (much faster).
Some of the installations intelligently (often prefer a clean OS install on a single drive, and a different drive programs to improve performance).
The file FILE PAGE Put on your operating system is different.
The PAGE file FILE Put a different operating system drive and limit it according to Microsoft's recommendations (usually between 1.5-3 size of RAM).
RAM memory is recommended at least 8 GB, and check that the operating system supports (64 bit)
Remove the effects that operating system kit (fade effect & aero theme)
Please Mark This As Answer if it helps to solve the issue
Tzuri Ben Ezra | My Certifications:
CompTIA A+ ,Microsoft MCP, MCTS, MCSA, MCITP
|
FaceBook: Tzuri FaceBook | vCard:
Tzuri vCard |
Microsoft ID:
Microsoft Transcript
| -
Memory Tuning - SAPPFPAR check
I was wondering on how to optimize the use of "SAPPFPAR check" in terms of Memory Tuning. Upon typing the command "sappfpar check pf=<profile>", the shared memory disposition overview is being shown. Are the values shown here present the current values defined in the system?
Furthermore, i was wondering what values are shown below? Do all the values shown below display the currently allocated values in the system or are the values shown below display the required value at the very least? If so, how can i change the value? How do i know what parameter these values are directly corresponding to so that i can check and change the said values if necessary? Especially the values shown in the "worst case" field, how can i check whether the currently allocated values satisfy what are indicated in the SAPPFPAR check?
In addition, i was wondering what does the error imply? Does it straightforwardly imply that there are incorrect values existing in the system, or does it imply that requirements are not met, or etc. I would like to know more about this from the SAP practitioners themselves since experience provide the best knowledge that can be taught since it occurred first hand.
Kindly enlighten me on this topic. Thanks.
Edited by: Jett Michael Contreras on Apr 22, 2008 11:36 AMHi
The SAPPFPAR checks the current values that is mentioned in the instance profile . Unless if u have made changes to the instance profile. If u do make changes to the profile then the SAPPFPAR will show the result for the changed profile.
The output given by the SAPPFPAR will show you the current value and the required value (ie Proposed SAP values) to be changed. If there is any error in the profile parameters it indicates that in the output. Eventually it calculates all the SAP buffers , Physical memory and the SWAP space. It gives you the total required memory by adding the worst case scenario (heap) alongwith the buffer parameters.
When u change the buffer parameters for the system, it will calculate and adjust according to the SAP proposed value. Since the shared memory values depends on all the buffer parameters like program, screen, table buffers..etc.
The SAPPFPAR is a very helpful tool for calculating the physical memory space required based on the SAP buffer and for checking error in the instance parameter.
Thanks & Regards,
Maheswaran -
Cannot access memory card to store messages
hi. i have recently bought 1 nokia n70. i have also obtained a memory card with the phone. i can use the memory card to store photos, music etc..
however, in message settings, i cannot select my memory card in the "memory in use" option. when i select to use the memory card, nothing happens and the phone continues to use the phone memory to store messages.
pls help..........Hi girishhurb
You have got the filled circle against phone memory and empty circle against memory card? If I remember it correctly you have click on highlighted "phone memory" to get it to move to "memory card"
You should then get a message "Copy all messages to the new message memory?" and "Save original messages?" and then "Copying" appears.
Happy to have helped forum in a small way with a Support Ratio = 37.0 -
How to create a file in memory and then store it in database
Hi Guys,
I'm wondering how could i create a file such a plain text or css styleshhet in runtime and then store this file in the database. I need to save them in the database cause the application doe not have write permission to filesystem.
Is that possible ? Can a file be created only in memory and saved in database instead of filesystem?
I'd appreciate your help on this.
Thanks a lot.jack.black wrote:
What i really need is to save information as a stylesheet into db. These information is input in a form and sent to a servlet. You have a servlet and in there you are creating data, lets say the data is representable as a string.
You have a database layer (however it is implemented) which takes data (string) and stores it as a blob presumably.
That is two distinct and completely separate processes.
The second has nothing to do with the first because the second doesn't care how the data is created. And you should write the code for the second and test it completely independent from the first (just as all of the database layer should be handled.)
As for the first you can use StringWriter, perhaps wrapping it in PrintWriter if you wish. Do whatever you want to put data in there. Be sure to close it, extract the string and then use it.
The only limitation to processing like this is that if the data gets too large (individually or due to number of threads) it could adversely impact the application. -
Problems moving IMAP store to a new drive in 10.4 Server
Hi,
I'm having some problems with IMAP mail in 10.4 Server. I'm trying to move my mail store over to a different volume and have been having problems. Here are the locations:
Database location: /Volumes/vol-old/Mail/Database
Mail store location: /Volumes/vol-old/Mail/Store
I'm trying to move them to:
/Volumes/vol-new/Mail/Database
/Volumes/vol-new/Mail/Store
So what I initially did was to clone vol-old to vol-new using SuperDuper, and enter the new paths into the two fields in Server Admin. Simple, right? Seems like it should be, but when I try this, upon a client trying to log in I get this repeated over and over in my /var/log/mailaccess.log:
Feb 6 21:25:38 pmac imaps[1606]: Fatal error: ERROR: Cannot start mail services, configuration directory does not exist: /Volumes/vol-new/Mail/Database
Feb 6 21:25:38 pmac master[1581]: process 1606 exited, status 75
Feb 6 21:25:38 pmac master[1581]: service imaps pid 1606 in READY state: terminated abnormally
Feb 6 21:25:38 pmac master[1607]: about to exec /usr/bin/cyrus/bin/imapd
As far as I can tell, vol-old/Mail and vol-new/Mail are exactly the same. I tried re-copying vol-old/Mail to vol-new/Mail using ditto and cp -Rp with the same results.
I've also tried renaming vol-new to vol-old with the same results.
The old mail store, at /Volumes/vol-old/Mail, continues to work fine.
I am stumped. Anyone have any ideas?
Thanks so much,
AlexOhhhhh geeez. *smacks forehead*
I did stop the mail service before copying, and ACLs are disabled on both volumes. The permissions within the Mail dirs all look to be the same...
What I didn't do was look at directory permissions... vol-old was 755... vol-new was 700. Changed it, works fine now.
Thanks for your help, and sorry to waste your time... hopefully this post will help other idiots like me -
Getting Exception when trying to connect to IMAP store. Please Help
DEBUG: not loading system providers in <java.home>/lib
DEBUG: successfully loaded optional custom providers from URL: jar:file:/C:/James/javamail-1.3.3_01/lib/imap.jar!/META-INF/javamail.providers
DEBUG: successfully loaded optional custom providers from URL: jar:file:/C:/James/javamail-1.3.3_01/lib/pop3.jar!/META-INF/javamail.providers
DEBUG: successfully loaded optional custom providers from URL: jar:file:/C:/James/javamail-1.3.3_01/lib/smtp.jar!/META-INF/javamail.providers
DEBUG: successfully loaded default providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsy stems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc]}
DEBUG: successfully loaded optional address map from URL: jar:file:/C:/James/javamail-1.3.3_01/lib/smtp.jar!/META-INF/javamail.address.map
{mail.imap.port=143, mail.imap.user=*************, mail.debug=true, mail.imap.host=*************, mail.imap.class=com.sun.mail.imap.IMAPStore}
C:\_home\programs\wsad51\eclipse\jre
got connection to the imap server
DEBUG: mail.imap.class property exists and points to com.sun.mail.imap.IMAPStore
java.lang.reflect.InvocationTargetException: java.lang.NoSuchMethodError: javax.mail.Session: method getDebugOut()Ljava/io/PrintStream; not found
at com.sun.mail.imap.IMAPStore.<init>(IMAPStore.java:170)
at java.lang.reflect.Constructor.newInstance(Native Method)
at javax.mail.Session.getService(Session.java:566)
at javax.mail.Session.getStore(Session.java:362)
at javax.mail.Session.getStore(Session.java:324)
at javax.mail.Session.getStore(Session.java:303)
at com.equifax.equicom.batch.email.parse.TestIMAP.main(TestIMAP.java:66)
javax.mail.NoSuchProviderException: imap
at javax.mail.Session.getService(Session.java:570)
at javax.mail.Session.getStore(Session.java:362)
at javax.mail.Session.getStore(Session.java:324)
at javax.mail.Session.getStore(Session.java:303)
at com.equifax.equicom.batch.email.parse.TestIMAP.main(TestIMAP.java:66)The googleapi.jar contains copies of some javamail classes. Here a few I found in my output:
javax.mail.event.MessageCountListener from googleapi.jar
javax.mail.Session from googleapi.jar
javax.mail.MessagingException from googleapi.jar
javax.mail.NoSuchProviderException from googleapi.jar
This particular google api is the old SOAP google service that is no longer allowing new registrations, but still has support for existing API key holders, like me :-). Thought this might be a common jar in most libraries, so worth mentioning.
Don't forget, you can debug your loaded classes with java -verbose MyApp to find those rogue libraries. -
I get this error message:
"We Could Not Complete Your itunes Store Request. There is not enough memory available.
There was an error in the itunes store. Please try again later."
When I try to:
* Listen to a preview of a song in the itunes store
* Watch a Movie or TV program I BOUGHT from the itunes store
* Or try to download my ALREADY PAID FOR songs from the itunes store
No matter WHAT I do... this shows up. I've updated everything there is to update (yes, including the Quicktime shiz), and am running itunes on a BRAND SPANKING NEW macbook... the best you can get... so I highly doubt it's a hardware problem in the computer itself (i.e...not enough memory on comp).
IF ANYBODY knows what to do... PLEASE HELP ME!!!!!!! Of course Apple won't write back with anything of value to this, nor do they know what to do when I try contacting them by phone.
sooooooooooooooooo annoying!!!!!!!!
thanksHello, everyone,
I just spent almost 2 hours with Apple support team to figure out what this problem is and they never heard about it before. Apparently, some cache files build up and something gets corrupt and affects the memory for iTunes to run the purchased songs. The solution we found that worked in my computer is:
1. restart it
2. once you hear the loud sound of the computer starting, press down "shift" and hold it. This will deactivate great part of everything running in the computer.
3. stop holding "shift" when you see the image of the spinning wheel, right below the apple symbol in the middle of the screen.
4. Log in. Let the computer fully start.
5. Once it's done, restart your computer again, but this time don't hold any key.
6. Log in. Let the computer fully start. Now, try your iTunes with a purchased song. It should play any song regularly now.
Hope it helps. I was having the same problem since New Year's Eve but Kevin, from Apple (California), was the best and figured it out this morning!
Cheers! -
Please help!! My computer has been displaying a message saying the memory in the iTunes store is low and my purchase cannot be completed.. what does it mean and how can I fix it??
It just needs to rebuild the database. You do have your iPhoto library backed up to an external source just in case?
And how do I rebuild it?
Hold down the Option + Command keys then launch iPhoto.
Select the first option.
iPhoto 9.0 Help (iPhoto '11): Back up your iPhoto library -
Memory problem when store xml into XMLDB from CLOB source
Hi,
We have performed a stress test and looped the following
stored procedures for 1500 XML documents.
We found the UGA and PGA memory for this oracle process increased tremendously.
PGA memory
==========
6MB -> 2.9GB
UGA memory
==========
5MB -> 2.8GB
We have also experienced ORA-4030 error when more XML documents were inserted.
The PGA & UGA memory would not ever be released. We have checked that
the PGA & UGA memory for this process are still 2.9GB & 2.8GB the day after the stress test.
Stored Procedure
================
create or replace procedure clob_to_xml (indocid IN NUMBER) AS
clobdoc clob := EMPTY_CLOB();
myParser dbms_xmlparser.Parser;
indomdoc dbms_xmldom.domdocument;
xsltdomdoc dbms_xmldom.domdocument;
xsl dbms_xslprocessor.stylesheet;
outdomdocf dbms_xmldom.domdocumentfragment;
outnode dbms_xmldom.domnode;
outclobdoc clob := EMPTY_CLOB();
proc dbms_xslprocessor.processor;
xsltpath doc_types.canonical_doc_trim_xslt_name%type;
xmltabname doc_types.xmldb_table_name%type;
doc_type doc_types.doc_type%type;
doc_type_version doc_types.doc_type_version%type;
category doc_types.category%type;
sqlstring varchar2(500);
outxmldoc xmltype;
begin
-- clobdoc := :new.canonical_doc_content;
begin
select canonical_doc_content into clobdoc
from canonical_doc
where dttn_doc_id = indocid;
exception
when no_data_found then raise_application_error(-20001,'Doc ID ' || indocid || ' cannot be found');
when others then raise;
end;
begin
select dt.canonical_doc_trim_xslt_name, dt.xmldb_table_name, ddi.doc_type,ddi.doc_type_version, dt.category
into xsltpath, xmltabname, doc_type, doc_type_version, category
from
dttn_doc_info ddi,
doc_types dt
where ddi.dttn_doc_id = indocid
and ddi.doc_type = dt.doc_type
and ddi.doc_type_version = dt.doc_type_version;
exception
when no_data_found then raise_application_error(-20001,'Doc Type is not defined');
-- when others then raise;
end;
if (category <> 0 ) then
--only support business document at this moment
return;
end if;
if (xsltpath is null or xsltpath = '') then
raise_application_error (-20001,'XSLT is not defined on doc_type table - ' || doc_type);
end if;
if (xmltabname is null or xmltabname = '') then
raise_application_error (-20001,'XMLTable is not defined on doc_type table - ' || doc_type);
end if;
myParser := dbms_xmlparser.newParser;
dbms_xmlparser.parseClob(myParser, clobdoc);
indomdoc := dbms_xmlparser.getDocument(myParser);
dbms_xmlparser.parseClob(myParser, xdbURIType(xsltpath).getClob());
xsltdomdoc := dbms_xmlparser.getDocument(myParser);
xsl := dbms_xslprocessor.newstylesheet(xsltdomdoc, '');
proc := dbms_xslprocessor.newProcessor;
--apply stylesheet to DOM document
outdomdocf := dbms_xslprocessor.processxsl(proc, xsl, indomdoc);
outnode := dbms_xmldom.makenode(outdomdocf);
-- PL/SQL DOM API for XMLType can be used here
dbms_lob.createTemporary(outclobdoc, true);
dbms_xmldom.writeToClob(outnode, outclobdoc);
begin
sqlstring := 'INSERT INTO ' || xmltabname || ' values (:1, :2)';
EXECUTE IMMEDIATE sqlstring USING indocid, outxmldoc;
exception
when others then
begin
rollback;
raise_application_error (-20001,'Cannot insert into XMLDB , docid = ' || indocid);
end;
end;
dbms_lob.freeTemporary(outclobdoc);
DBMS_XMLDOM.freeDocument(indomdoc);
DBMS_XMLDOM.freeDocument(xsltdomdoc);
DBMS_XMLDOM.freeDocFrag(outdomdocf);
DBMS_XMLPARSER.freeParser(myParser);
DBMS_XSLPROCESSOR.freeProcessor(proc);
end;
Is there anything wrong with the Stored Procedure ?
My oracle version is 10.1.0.4.
Thanks & Regards,
NMMark,
I think you missed it. OP gave you the version.
My oracle version is 10.1.0.4.Rahul. -
Need help with performance & memory tuning in a data warehousing environment
Dear All,
Good Day.
We had successfully migrated from a 4 node half-rack V2 Exadata to a 2 node quarter rack X4-2 Exadata. However, we are facing some issues with performance only for few loads while others have in fact shown good improvement.
1. The total memory on the OS is 250GB for each node (two compute nodes for a quarter rack).
2. Would be grateful if someone could help me with the best equation to calculate the SGA and PGA ( and also in allocation of shared_pool, large_pool etc) or whether Automatic Memory Management is advisable?
3. We had run exachk report which suggested us to configure huge pages.
4. When we tried to increase the SGA to more than 30GB the system doesn't allow us to do so. We had however set the PGA to 85GB.
5. Also, we had observed that some of the queries involving joins and indexes are taking longer time.
Any advise would be greatly appreciated.
Warm Regards,
Vikram.Hi Vikram,
There is no formula about SGA and PGA, but the best practices for OLTP environments is for a give ammount of memory (which cannot be up to 80% of total RAM from server) you should make 80% to SGA and 20% to PGA. For Data Warehouse envs, the values are like 60% SGA and 40% PGA or it can be up to 50%-50%. Also, some docs disencourage you to keep the database in Automatic Memory Management when you are using a big SGA (> 10G).
As you are using a RAC environment, you should configure Huge Pages. And if the systems are not allowing you to increase memory, just take a look at the semaphore parameters, probably they are set lower values. And for the poor performance queries, we need to see explain plans, table structure and you would also analyze if smart scan is playing the game.
Regards. -
Windows XP 32-bit Virtual Memory Tuning.
For our PXI racks we "tune" the virtual memory under Windows XP 32-bit (standard NI installation), as a couple of our applications process vast volumes of data , as follows:
Open boot.ini
Find the line beginning with 'multi'
Add the following to the end of the line '/3GB /userva=2560' (without the quotes).
Initially we were supplied with PXIe-8133 driven PXI racks and the above change works perfectly.
However later PXI racks were supplied with PXIe-8115 driven PXI racks. If the above line is applied to these PXI racks then the result is the graphics card drops to 640x480 4-bit colours and it cannot be changed until the line is removed.
I have tried various values for /userva including 2176, 2432, and 2304 but all results in the same result.
It seems that whilst the PXIe-8133 came with a standard BIOS and hence was configurable to an extent, the PXIe-8115 comes with a NI BIOS and provides very little low level control in comparison.
Has anyone attempted the above on a PXIe-8115 driven rack? Or can suggest a solution?
Thanks.
Christopher Povey
Senior Test Systems Engineer for BAE Systems.I have attached the Windows XP System Resource Maps for both our PXIe-8115 and PXIe-8133 racks. Both racks contain the same hardware in the same slots (apart from the controller card).
Christopher Povey
Senior Test Systems Engineer for BAE Systems.
Attachments:
PXIe-8115 Memory Resources.txt 11 KB
PXIe-8133 Memory Resources.txt 8 KB -
I have an iMac OS X Version 10.5.8 but I also have a MacBookPro 10.7.5 version, why software updates are not the same? For example, the way to see how much memory I have in my iMac is diferent than MacBookPro. And where I can see the memory of the disc I've got in my iMac? Than you very much.
If you want everything the same on both computers you need to be running the same OS X version. You can't because your iMac is a PPC machine, not Intel.
But to see information about your hard drive is the same for both. Simply select the drive icon on the Desktop. Press COMMAND-I to open the Get Info window. Disk information is in the upper panel. -
Hi.
i want to increase PXA buffer size in ECC 5.0 -Netweaver 2004
OS -HP Unix
Ram:16GB,Number of swaps per day very high.
Existing size:220MB .Will it result in any OS related problems
Is PXA Parameter dependant on any oher sap paramters?
Regards
ArunDear Arun,
Some recomendations for this buffer area are given in note 103747.
I recommend to you after increasing the size, run sappfpar command on operating system level
in order to detect any memory errors or warnings.
If number of swaps are high, it could be a good idea to increase it, or to move to a faster drives.
Hope it helps.
Edited by: alejovw on Mar 1, 2011 9:08 PM -
Hi all,
We have installed ONLY HADB component from SJSAS 9.1. As we are using Java 1.5 version, the default jvm heap size is 192m which is way less than our requirement. How can I tune the JVM used by HADB? I saw that the service clu_nsup_srv running under JVM process.
Thanks,
ParasHello Parasshah,
You might want to post HADB related questions to the App Server forum. Here is the link to that forum:
[ Sun Java System Application Server - Performance and Tuning|http://forums.sun.com/forum.jspa?forumID=756]
Maybe you are looking for
-
Multiple Software Versions Question
Rookie question here. My organization recently purchased a new copy of InDesign CS6 for me and one other employee. We did NOT purchase Creative Cloud subscriptions, but hard copy licenses. The software is working great and we love your product. T
-
Why does itunes store not work with windows 8
every time i try to sign into itunes store i get an error code or itunes shuts down
-
You can have a semicolon in a file or folder name on your hard disk, but if you have files/folders that contain semicolons on a DVD, they are not readable. Finder silently ignores such files/folders, so if you copy a DVD to (say) your desktop, then y
-
Discontinuation indicator in Material Master
Hello, I am using discontinuation group concept in BOM which replace 1 old material with multiple folloup materials. My system ( ECC5.0) does not display discontinuation indicator 2 ( discontinue group in BOM). As a workaround I am using discontinue
-
Volatile User's not being removed
We have a DLU policy that has volatile user implimented. I have been noticing that sometimes, the user doesn't get deleted and they have a folder in C:\documents and settings\ and their username still exists in the windows user management console, wh