Unix buffer cache vs oracle database buffer cache

1. What difference between operating system buffer cache and oracle buffer cache?
2. In what case, oracle is using oracle buffer cache? in what case, oracle doesn't use buffer cache instead of using OS buffer cache.
I am confused about this concept.
Appreciate any help.
S.

ski123 wrote:
1. What difference between operating system buffer cache and oracle buffer cache?
2. In what case, oracle is using oracle buffer cache? in what case, oracle doesn't use buffer cache instead of using OS buffer cache.
I am confused about this concept.
Appreciate any help.
S.I am not sure that where is the confusion. Oracle's buffer cache would be an inevitable since whatever would be accessed in the oracle database , would have to go through the buffer cache. Though this can be bypassed as well but that's only for a specific purpose. If you won't be using the buffer cache, how else the data would be given to the end user? It has to go through the buffer cache since the data is retrieved not just for one time access but for the future access as well. And the buffer cache stores that data for the future requests also.
The o/s cache is , well, for the o/s. So once the buffer leaves from the oracle ecosystem, it would be there. What exactly you want to compare between two and why here?
Aman....

Similar Messages

  • Cache Connect Oracle Database Support

    What versions of the 10g Oracle Database server are supported by Cache Connect for TimeTen 7.0.4 & 7.0.5?
    The TimesTen 7.0.4 & 7.0.5 Installation Guide lists that 10gR1 & 10gR2 are supported.
    What about 10gR3 & 10gR4 for TimesTen 7.0.4 & 7.0.5?
    Thanks.

    Brian,
    There are no 10gR3 and 10gR4 for the Oracle Database.
    - 10gR1 = 10.1.0.x
    - 10gR2 = 10.2.0.y
    The latest 10gR2 release number is 10.2.0.4 and is available on Linux and a number of other platforms.
    Both TimesTen 7.0.4 and 7.0.5 support 10.2.0.4 and this is the recommended client version for Cache Connect; the reason is that we have found Oracle OCI client side issues with pre-10.2.0.4 releases and they are fixed in 10.2.0.4.
    Susan

  • Linix/Unix Operating System ( For Oracle Database instalation)

    I have much experience installing and managing Oracle Database 8.x, 9.x, 10g and 11g, Database Guards, streams, RAC and Grid on MS Advance Server 2000, MS Server 2003 ect. Now i want install Unix\Linux OS. I have required Unix/Unix OS Version and release information.
    Any one who can tell me about OS versions and release for Fedora, RedhHat, Ubuntu, ALinix etc.
    Thanks in Advance
    Naeem Sheeraz
    Faisalabad,Pakistan
    MCS + OCP (DBA 10g – Developer 2000,6,6i)
    email : [email protected]
    URL : www.saifisoft.net

    thx for ur response ..i already install silently oracle 10 g express edition on xp using command :OracleXE.exe /s /f1"D:\oracle10g\OracleXE-Install.iss" /f2"d:\oracle10g\xe_temp\setup.log"
    where OracleXE-install.iss is my response file and its content is:
    ** Response file to perform silent install of Oracle Database 10g Express Edition **
    ** Values for the following variables are configurable: **
    ** szDir - Provide a valid path **
    ** TNSPort - Provide any valid available port number **
    ** MTSPort - Provide any valid available port number **
    ** HTTPPort - Provide any valid available port number **
    ** SYSPassword - Provide a valid password string **
    ** bOpt1 - 1 or 0 : 1 launches the Database Homepage at end of install and 0 doesn't **
    [{F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-DlgOrder]
    Dlg0={F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-SdWelcome-0
    Count=9
    Dlg1={F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-SdLicense2Rtf-0
    Dlg2={F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-SdComponentDialog-0
    Dlg3={F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-AskTNSPort-13013
    Dlg4={F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-AskMTSPort-13012
    Dlg5={F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-AskHTTPPort-13014
    Dlg3={F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-AskSYSPassword-13011
    Dlg4={F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-SdStartCopy-0
    Dlg5={F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-SdFinish-0
    [{F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-SdWelcome-0]
    Result=1
    [{F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-SdLicense2Rtf-0]
    Result=1
    [{F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-SdComponentDialog-0]
    szDir=d:\or\oraclexe\
    Component-type=string
    Component-count=1
    Component-0=DefaultFeature
    Result=1
    [{F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-AskTNSPort-13013]
    TNSPort=1521
    Result=1
    [{F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-AskMTSPort-13012]
    MTSPort=2030
    Result=1
    [{F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-AskHTTPPort-13014]
    HTTPPort=8080
    Result=1
    [{F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-AskSYSPassword-13011]
    SYSPassword=oraclexe
    Result=1
    [{F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-SdStartCopy-0]
    Result=1
    [{F0BC0F9E-C4A8-485C-93ED-424DB9EA3F75}-SdFinish-0]
    Result=1
    bOpt1=1
    bOpt2=0
    plz check

  • Installation BOBJ XI 3 on UNIX ( Sun Solaris ) with Oracle database

    Hi All,
    I want to deploy and install BOBJ XI Enterprise 3.1 on Sun Solaris with oracle database.
    My question is, do we need to add some oracle licenses stuff in BOBJ XI Enterprise server or we just using a connection from Sun Solaris to oracle database ?
    Pls Advise,
    Rgds,
    Denny

    Hi Denny,
    the risk is the same whatever DB server you are using. Once you have a setup where more than one application access the server, overload caused by one application can influence the performance of the other ones. You have to check if your DB vendor offers tools to monitor and limit the load on your DB server. But we are talking hypothetically now. I would recommend to check what's the actual load on your oracle DB server. If the server is not working at the limit (let's over 80% all the time), then I think that you can try to install BOBJ also in an existing oracle instance on the oracle server. You can reduce the risk and make the maintenance easier if you setup a dedicated oracle instance on your DB server just for the BOBJ repository.
    Regards,
    Stratos

  • About database buffer cache issue

    Hi all, for example,a DBBC of 4mb size & there is a 1gb table,  How this table will be used in DBBC?

    Hi,
    The whole table will not be taken to cache, but only the required blocks will be placed for oracle operations and unused blocks will be flushed from cache with LRU algorithm. Googling can provide you huge data on this topic.
    Oracle Database Buffer Cache Tips
    Thank you!!

  • What is the difference between buffer busy waits and free buffer waits

    what is the difference between buffer busy waits events and free buffer waits in Oracle database?
    select *
    from
       v$system_event
    where
       event like ‘%wait%’;
    EVENT                       TOTAL_WAITS TOTAL_TIMEOUTS TIME_WAITED AVERAGE_WAIT
    buffer busy waits                636528           1557      549700   .863591232
    write complete waits               1193              0       14799   12.4048617
    free buffer waits                  1601              0         622   .388507183

    jetq wrote:
    Buffer busy waits occur when an Oracle session needs to access a block in the buffer cache, but cannot because the buffer copy of the data block is locked. This buffer busy wait condition can happen for either of the following reasons:
    * The block is being read into the buffer by another session, so the waiting session must wait for the block read to complete. If the OP is running 10g, that would be recorded as "read by other session" not "buffer busy waits" - and unfortunately he didn't tell us the version.
    * Another session has the buffer block locked in a mode that is incompatible with the waiting session's request.
    The Free Buffer Waits Oracle metric wait event indicates that a server process was unable to find a free buffer and has posted the database writer to make free buffers by writing out dirty buffers.
    There is another possibility - if the OP is using a keep and recycle pool: see http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
    "For every expert there is an equal and opposite expert"
    Arthur C. Clarke                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Will Oracle look into the database buffer cache in this scenario?

    hi guys,
    say I have a table with a million rows, there are no indexes on it, and I did a
    select * from t where t.id=522,000.
    About 5 minutes later (while that particular (call it blockA) block is still in the database buffer cache) I do a
    select * from t where t.id >400,000 and t.id < 600,000
    Would Oracle still pick blockA up from the database buffer cache? if so, how? How would it know that that block is part of our query?
    thanks

    Without an Index, Oracle would have done a FullTableScan on the first query. The blocks would be very quickly aged out of the buffer cache as they have been retrieved for an FTS on a large table. It is unlikely that block 'A' would be in the buffer_cache after 5minutes.
    However, assuming that block 'A' is still in the buffer_cache, how does Oracle know that records for the second query are in block 'A' ? It doesn't. Oracle will attempt another FullTableScan for the second query -- even if, as in the first query -- the resultset returned is only 1 row.
    Now, if the table were indexed and rows were being retrieved via the Index, Oracle would use the ROWID to get the "DBA" (DataBlockAddress) and get the hash value of that DBA to identify the 'cache buffers chain' where the block is likely to be found. Oracle will make a read request if the block is not present in the expected location.
    Hemant K Chitale
    http://hemantoracledba.blogspot.com

  • What are all information brought into database buffer cache ?

    Hi,
    What are all information brought into database buffer cache , when user does any one of operations such as "insert","update", "delete" , "select" ?
    Whether the datablock to be modified only brought into cache or entire datablocks of a table brought into cache while doing operations i mentioned above ?
    What is the purpose of SQL Area? What are all information brought into SQLArea?
    Please explain me the logic behind the questions i asked above.
    thanks in advance,
    nvseenu

    Documentation is your friend. Why not start by
    reading the
    [url=http://download.oracle.com/docs/cd/B19306_01/serv
    er.102/b14220/memory.htm]Memory Architecturechapter.
    Message was edited by:
    orafad
    Hi orafad,
    I have learnt MemoryArchitecture .
    In that documentation , folowing explanation are given,
    The database buffer cache is the portion of the SGA that holds copies of data blocks read from datafiles.
    But i would like to know whether all or few datablocks brought into cache.
    thanks in advance,
    nvseenu

  • Swapping and Database Buffer Cache size

    I've read that setting the database buffer cache size too large can cause swapping and paging. Why is this the case? More memory for sql data would seem to not be a problem. Unless it is the proportion of the database buffer to the rest of the SGA that matters.

    Well I am always a defender of the large DB buffer cache. Setting the bigger db buffer cache alone will not in any way hurt Oracle performance.
    However ... as the buffer cache grows, the time to determine 'which blocks
    need to be cleaned' increases. Therefore, at a certain point the benefit of a
    larger cache is offset by the time to keep it sync'd to the disk. After that point,
    increasing buffer cache size can actually hurt performance. That's the reason why Oracle has checkpoint.
    A checkpoint performs the following three operations:
    1. Every dirty block in the buffer cache is written to the data files. That is, it synchronizes the datablocks in the buffer cache with the datafiles on disk.
    It's the DBWR that writes all modified databaseblocks back to the datafiles.
    2. The latest SCN is written (updated) into the datafile header.
    3. The latest SCN is also written to the controlfiles.
    The following events trigger a checkpoint.
    1. Redo log switch
    2. LOG_CHECKPOINT_TIMEOUT has expired
    3. LOG_CHECKPOINT_INTERVAL has been reached
    4. DBA requires so (alter system checkpoint)

  • Database buffer Cache

    Hi Guru,
    Can anyone tell me what is the actual definition of Data buffer Cache & Log buffer Cache and how it works in Oracle 10g??
    Please
    Regards,
    Rajeev,India
    Edited by: 970371 on Nov 8, 2012 7:06 PM

    vlethakula wrote:
    Databuffer cache contains the blocks which are read from physical data files.Database buffer cache contains buffers that hold the blocks read from the disk.
    Log buffer cahce contains changes made to the database
    e.g: You try to update a row, the changes made to that row is written in form of change vectors to Log buffer cache, from there on certail rules(like commit) LGWR background process writes those changes from LOG BUFFER CACHE to redo log files.
    The block which is modified in database buffer cache, will be written to physical files by DBWR process after certain rules are met (like checkpoint)The reason that I didn't give the explanation or the links containing the same from the docs that I wanted OP to come up with some sort of his own understanding about the two caches first.
    Aman....

  • Database buffer cache and library cache (order)

    hi
    after I issue:
    select * from employees where employee_id=98
    which one is performed by oracle first?
    Oracle looks database buffer cache for any block it needs.
    If block not found in database buffer cache ;server reads block from datafile and places copy in database buffer cache
    OR
    parse the sql and look in library cache for same execution plan ,.....

    Hi Ricardinho
    How does Oracle know which blocks it might need ? Does it need blocks from any indexes or does it only need blocks from a table ?
    Do you think it even remotely likely that Oracle will somehow get all the blocks it needs first and then worry about determining an execution plan at some later point in time ?
    Cheers
    Richard Foote
    http://richardfoote.wordpress.com/

  • LRU and CKPTQ in database buffer cache

    Hi experts out here,
    This functionality will work out in Database buffer cache of Oracle 10.2 or greater.
    Sources:OTN forums and Concepts 11.2 guide
    As per my readings.To improve the funtionality and make it more good Database Bufer cache is divided into several areas which are called workareasNow further
    zooming this each workarea will store multiple lists to store the buffers inside the database buffer cache.
    Each wrokarea can have one or more then one lists to maintain the wrokordering in there.So the list each workarea will have is LRU list and CKPTQ list.LRU list
    is a list of pinned,free and dirty buffers and CKPTQ is a list of Dirty buffers.We can say CKPTQ is a bundled of dirty buffers in low RBA ordering and ready to be flushed from cache to disk.
    CKPTQ list is maintained in low RBA ordering.
    As being novice let me clear about low RBA and High RBA first
    RBA is stored in the block header and will give us the information about when this block is changed and how many times it is changed.
    Low RBA : the low RBA is the address of the redo for the first change that was applied to the block since it was last clean,
    high RBA : the high RBA is the address of the redo for the most recent change to have been applied to the block.
    Now Back to CKPTQ
    It can be like this (Pathetic diagram of CKPTQ)
    lowRBA==================================High RBA
    (Head Of CKPTQ)                         (Tail Of CKPTQ)
    CKPTQ is a list of Dirty buffers.As per RBA concept.The most recent buffer modified is at the tail of CKPTQ.          
    Now oracle process starts and Try to Get buffer from DB cache if it gets a Buffer it will put a buffer MRU end of the LRU list.and buffer will become the most
    recently used.
    Now if process cant find a required buffer.then first it will try to find out Free buffer in LRU.And if it finds it its over it will place a datablock from datafile to the
    place where free buffer was sitting.(Good enough).
    Now if process cant fnd a Free buffer in LRU then First step would be it will find some Dirty buffers from the LRU end of the LRU list and place them on a
    CKPTQ(Remeber in low order of RBA it will arrange it in CKPT queue). and now oracle process will take required buffer and place it on the MRU end of LRU list.(Because space has been acclaimed by moving Dirty buffers to CKPTQ).
    I am sure that from CKPTQ the buffers(to be more accurate Dirty buffers) will move to datafiles.all the buffers are line up n CKPTQ in lower RBA first manner.But
    will be flushed to datafile how and in which manner and what event?
    This is what i understand after last three days flicking through blogs,forums and concepts guide.Now what i am missing please clear me out and apart from that
    i cant link the following functionalities with this flow..that is
    1)How the incremental checkpoint work with this CKPTQ?
    2)Now what is that 3 seconds timeout?
    (Every 3 seconds DBWR process will wake and find if anything there to write on datafiles for this DBWR will only check CKPTQ).
    3)apart form 3 second funda , when CKPTQ the buffers will be moved??(IS it when Process cant find any space in CKPTQ to keep buffers from LRU.ITs a
    moment when buffer from CKPTQ will be moved to disk)
    4)Can you please relate when control file will be updated with checkpoint so it can reduce recovery time?
    To many ques but i am trying to build up the whole process in mind that how it works may be i can be wrong in any phase in any step please correct me up and
    take me @ the end of flow..
    THANKS
    Kamesh

    Hi Amansir,
    So i m back with my bunch of questions.I cant again ask a single because you know its a flow so i cant end up with single doubt.Thanks for your last reply.
    Yes amansir first doubt clear that was buffer will be inserted at MID point for this i got one nice document (PDF)names "All about oracle touch count algorithm by CRAIG A SHALLAHAMER".That was quite nice PDF allabout hot and cold buffer and buffer movments inside the LRU list.I am prettly much clear with that point.Thank you. and Incremental checkpoint i read from Harald.van.Breederode ppt a person from oracle.You have shared it on one of your thread.that was nice reference
    flicking through threads i came across term REPL and its variations REPL-AUX (thread was for Oracle 9i).Is this variation REPL-AUX deprecated in 10g So i i am not wrong For each work area two main lists that are LRU and CKPTQ exists??not more than that any other types?
    For non-RAC database Thread checkpoint is a Full checkpoint?
    I read about the incremental checkpointing Here incremental checkpointing in my words n brief.Incremental Checkpoints means write only some selected buffer from CKPTQ to Datafiles.FROM CKPTQ few Low orders RBA buffers are selected and chekcpointed *(Buffer will be checkpointed on many conditions)* and When the Next checkpoint occurs that buffers are flushed to disk.Now this thing *(Checkpointing few buffers and flushing them to disk)* can be multiple times within three seconds so after 3 seconds *(This is the 3 second concept i was asking in the starting of the thread,Can this time be changed if yes with which parameter)* the checkpoint RBA and Checkpoint*(the point upto which database buffer has flushed to disk)* will be updated in Control file header *(Datafile also)* by CKPT process.So that Checkpoint will be used for Instance recovery purpose.Which can dramatically down the instance recovery time.
    every 3 seconds control file is updated with checkpoint and that checkpoint is the point from where we have to start the recovery process in oracle from redo log.I m aware that incremental checkpointing is controlled by Fast_start_mttr_target prarameter and now it is autotuned for >10.2 but the smaller value i will keep the less time my instance will take.
    Is above two para right what i understood if wrong correct me??
    What i understand is after three seconds it will take some buffers from the CKPTQ ( from low RBA end ) and flush them to disk.apart from this many other conditions are there when Data will be flushed to disk.
    1) like CKPTQ is full.
    2)Process cant find a free buffer in LRU
    3)to advance checkpoint DBWR writes..
    Correct me if i m wrong?
    THANKS
    Kamesh
    Edited by: Kamy on May 2, 2011 10:55 PM

  • What else are stored in the database buffer cache?

    What else are stored in the database buffer cache except the data blocks read from datafiles?

    That is a good idea.
    SQL> desc v$BH;
    Name                                                                                                      Null?    Type
    FILE#                                                                                                              NUMBER
    BLOCK#                                                                                                             NUMBER
    CLASS#                                                                                                             NUMBER
    STATUS                                                                                                             VARCHAR2(10)
    XNC                                                                                                                NUMBER
    FORCED_READS                                                                                                       NUMBER
    FORCED_WRITES                                                                                                      NUMBER
    LOCK_ELEMENT_ADDR                                                                                                  RAW(4)
    LOCK_ELEMENT_NAME                                                                                                  NUMBER
    LOCK_ELEMENT_CLASS                                                                                                 NUMBER
    DIRTY                                                                                                              VARCHAR2(1)
    TEMP                                                                                                               VARCHAR2(1)
    PING                                                                                                               VARCHAR2(1)
    STALE                                                                                                              VARCHAR2(1)
    DIRECT                                                                                                             VARCHAR2(1)
    NEW                                                                                                                CHAR(1)
    OBJD                                                                                                               NUMBER
    TS#                                                                                                                NUMBERTEMP      VARCHAR2(1)      Y - temporary block
    PING      VARCHAR2(1)      Y - block pinged
    STALE      VARCHAR2(1)      Y - block is stale
    DIRECT      VARCHAR2(1)      Y - direct block
    My question is what are temporary block and direct block?
    Is it true that some blocks in temp tablespace are stored in the data buffer?

  • ESE - Event Log Warning: 906 - A significant portion of the database buffer cache has been written out to the system paging file...

    Hello -
    We have 3 x EX2010 SP3 RU5 nodes in a cross-site DAG.
    Multi-role servers with 18 GB RAM [increased from 16 GB in an attempt to clear this warning without success].
    We run nightly backups on both nodes at the Primary Site.
    Node 1 backup covers all mailbox databases [active & passive].
    Node 2 backup covers the Public Folders database.
    The backups for each database are timed so they do not overlap.
    During each backup we get several of these event log warnings:
     Log Name:      Application
     Source:        ESE
     Date:          23/04/2014 00:47:22
     Event ID:      906
     Task Category: Performance
     Level:         Warning
     Keywords:      Classic
     User:          N/A
     Computer:      EX1.xxx.com
     Description:
     Information Store (5012) A significant portion of the database buffer cache has been written out to the system paging file.  This may result  in severe performance degradation.
     See help link for complete details of possible causes.
     Resident cache has fallen by 42523 buffers (or 27%) in the last 903 seconds.
     Current Total Percent Resident: 26% (110122 of 421303 buffers)
    We've rescheduled the backups and the warning message occurences just move with the backup schedules.
    We're not aware of perceived end-user performance degradation, overnight backups in this time zone coincide with the business day for mailbox users in SEA.
    I raised a call with the Microsoft Enterprise Support folks, they had a look at BPA output and from their diagnostics tool. We have enough RAM and no major issues detected.
    They suggested McAfee AV could be the root of our problems, but we have v8.8 with EX2010 exceptions configured.
    Backup software is Asigra V12.2 with latest hotfixes.
    We're trying to clear up these warnings as they're throwing SCOM alerts and making a mess of availability reporting.
    Any suggestions please?
    Thanks in advance

    Having said all that, a colleague has suggested we just limit the amount of RAM available for the EX2010 DB cache
    Then it won't have to start releasing RAM when the backup runs, and won't throw SCOM alerts
    This attribute should do it...
    msExchESEParamCacheSizeMax
    http://technet.microsoft.com/en-us/library/ee832793.aspx
    Give me a shout if this is a bad idea
    Thanks

  • A significant portion of the database buffer cache has been written out to the system paging file.

    Hi,
    We seem to get this error through SCOM every couple of weeks.  It doesn't correlate with the AV updates, so I'm not sure what's eating up the memory.  The server has been patched to the latest roll up and service pack.  The mailbox servers
    have been provisioned sufficiently with more than enough memory.  Currently they just slow down until the databases activate on another mailbox server.
    A significant portion of the database buffer cache has been written out to the system paging file.
    Any ideas?

    I've seen this with properly sized servers with very little Exchange load running. It could be a  number of different things.  Here are some items to check:
    Confirm that the server hardware has the latest BIOS, drivers, firmware, etc
    Confirm that the Windows OS is running the recommended hotfixes.  Here is an older post that might still apply to you
    http://blogs.technet.com/b/dblanch/archive/2012/02/27/a-few-hotfixes-to-consider.aspx
    http://support.microsoft.com/kb/2699780/en-us
    Setup a perfmon to capture data from the server. Look for disk performance, excessive paging, CPU/Processor spikes, and more.  Use the PAL tool to collect and analyze the perf data -
    http://pal.codeplex.com/
    Include looking for other applications or processes that might be consuming system resources (AV, Backup, security, etc)
    Be sure that the disk are properly aligned -
    http://blogs.technet.com/b/mikelag/archive/2011/02/09/how-fragmentation-on-incorrectly-formatted-ntfs-volumes-affects-exchange.aspx
    Check that the network is properly configured for Exchange server.  You might be surprise how the network config can cause perf & scom alerts.
    Make sure that you did not (improperly) statically set msExchESEParamCacheSizeMax and msExchESEParamCacheSizeMin attributes in Active Directory -
    http://technet.microsoft.com/en-us/library/ee832793(v=exchg.141).aspx
    Be sure that hyperthreading is NOT enabled -
    http://technet.microsoft.com/en-us/library/dd346699(v=exchg.141).aspx#Hyper
    Check that there are no hardware issues on the server (RAM, CPU, etc).  You might need to run some vendor specific utilities/tools to validate.
    Proper paging file configuration should be considered for Exchange servers.  You can use the perfmon to see just how much paging is occurring.
    These will usually lead you in the right direction. Good Luck!

Maybe you are looking for