Regarding JVM TUNNING

I WANT TO INCREASE THE HEAP SIZE OF JVM .PLZ LET ME KNOW ASAP

Saypank wrote:
Already One function had in database now days it takes more time to execute
Please guide me how i tunning this code Are you sure that you want to put the code in beer casks?
http://www.yourdictionary.com/tunning
Assuming not.
HOW TO: Post a SQL statement tuning request
HOW TO: Post a SQL statement tuning request - template posting
When your query takes too long
When your query takes too long ...
Though looking at it quickly the main thing you want to do is remove all the loops and use set based SQL statements instead.
And remove all the when others exception hiders too.
http://tkyte.blogspot.com/2008/01/why-do-people-do-this.html
http://tkyte.blogspot.com/2008/06/when-others-then-null-redux.html

Similar Messages

  • Regarding Performance Tunning of Mapping & Process Flow

    Hi,
    i have around 60-70 GB data in Target database.
    i need do improve the performance of Mapping and Process flow.
    i have used lookup transformation in mapping.
    Plz give me some tips for improving performance of Process.
    Thanks,

    Please go through a Performance Tuning Book for Oracle 10gR2.
    Most importantly remember that in Oracle 10g, your performace of mappings can be increased manifold by following these steps:
    1. Do not design a mapping wherein you load a table and then select from that table to load another table and so on. This is a bad design.
    2. Keep mappings as simple as possible. In other words if a mapping is complicated in terms of joins or other operators then split the mapping into more than one parts.
    3. Also check that all your source tables should be analyzed using DBMS_STATS. Ensuring this one single step can make your work very easy.
    4. Put indexes where you find your predicate has a very high selectivity. Also keep in mind the column ordering of the index.
    5. Use Set Based operation, since it is always a good idea to achieve the result by running one single query rather than a loop and multiple inserts.
    6. Use APPEND PARALLEL hint while loading the target tables. This will not generate wny redo and save time
    7. Please have a recheck while usng some performance intensive operators like UNION, DISTINCT and AGGREGATION
    8. When using a sequence operator to load a large table, check that the sequence should be cached with some values.
    9. When loading large data HASH JOINS are the most appropriate more often than not. So you can use USE_HASH as the hint for selecting from large tables.
    10. Filter out as much unrequired data from a table as soon as possible in the mapping before doing multiple joins.
    I am sure there are many more ... the above is just a random list that I could remember now. Please go through Oracle Performance Tuning Guide, Tom Kyte's Oracle Expert One on One. Knowledge of performance tuning will grow with experience. I am also learning each day !!!
    Regards
    AP

  • Regarding Performance tunning...

    HI Experts,
    can you suggest me, how exactly performance is checked.
    what is the measure we considered for performance check.
    what are ideals status of the performance check for a certain program.
    that is, how much should be database use, abap use and the system
    use in the program.
    i checked my program in t-code SE30, and it is showing almost
    above 90% use of database and very less use of abap and
    almost no use of system.
    so please tell me exactly how much it should be...
    Thanks in advance.
    Regard,
    vijay chavan

    Hi
    these are the ways of checking performance of a report
    Tools for Performance Analysis
    Run time analysis transaction SE30
    SQL Trace transaction ST05
    Extended Program Check (SLIN)
    Code Inspector ( SCI)
    <b>Run time analysis transaction SE30</b> :This transaction gives all the analysis of an ABAP program with respect to the database and the non-database processing.
    <b>SQL Trace transaction ST05</b>: The trace list has many lines that are not related to the SELECT statement in the ABAP program. This is because the execution of any ABAP program requires additional administrative SQL calls. To restrict the list output, use the filter introducing the trace list.
    The trace list contains different SQL statements simultaneously related to the one SELECT statement in the ABAP program. This is because the R/3 Database Interface - a sophisticated component of the R/3 Application Server - maps every Open SQL statement to one or a series of physical database calls and brings it to execution. This mapping, crucial to R/3s performance, depends on the particular call and database system. For example, the SELECT-ENDSELECT loop on a particular database table of the ABAP program would be mapped to a sequence PREPARE-OPEN-FETCH of physical calls in an Oracle environment.
    The WHERE clause in the trace list's SQL statement is different from the WHERE clause in the ABAP statement. This is because in an R/3 system, a client is a self-contained unit with separate master records and its own set of table data (in commercial, organizational, and technical terms). With ABAP, every Open SQL statement automatically executes within the correct client environment. For this reason, a condition with the actual client code is added to every WHERE clause if a client field is a component of the searched table.
    To see a statement's execution plan, just position the cursor on the PREPARE statement and choose Explain SQL. A detailed explanation of the execution plan depends on the database system in use.
    <b>Extended Program Check</b>
    This can be called in through transaction SE38 or through transaction SLIN. This indicates possible problems that may cause performance problems.
    <b>Code Inspector (SCI)</b>
    You can call the Code Inspector from the ABAP Editor (SE38), the Function Builder (SE37), the Class Builder (SE24), or as a separate transaction (SCI).
    The Code Inspector indicates possible problems. However, note that, especially with performance issues: There is no rule without exception. If a program passes an inspection, it does not necessarily mean that this program will have no performance problems.
    <b>Run time analysis transaction SE30</b>
    <b>steps</b>
    In Transaction SE30, fill in the transaction name or the program name which needs to be analyzed for performance tuning.
    For our case, let this be “ZABAP_PERF_TUNING”
    Run time analysis transaction SE30
    After giving the required inputs to the program, execute it. After the final output list has been displayed, PRESS the “BACK” button.
    On the original SE30 screen, now click on “ANALYZE” button.
    The percentage across each of the areas ABAP/ Database/System shows the percentage of total time used for those areas and load on these areas while running the program . The lesser the database load faster the program runs.
    <b>SQL Trace – ST05</b>
    <b>steps</b>
    <u>Starting the Trace:</u>
    To analyze a trace file, do the following:
    Choose the menu path Test &#61614; Performance Trace in the ABAP Workbench or go to Transaction ST05. The initial screen of the test tool appears. In the lower part of the screen, the status of the Performance Trace is displayed. This provides you with information as to whether any of the Performance Traces are switched on and the users for which they are enabled. It also tells you which user has switched the trace on.
    Using the selection buttons provided, set which trace functions you wish to have switched on (SWL trace, enqueue trace, RFC trace, table buffer trace).
    If you want to switch on the trace under your user name, choose Trace on. If you want to pass on values for one or several filter criteria, choose Trace with Filter. Typical filter criteria are: the name of the user, transaction name, process name, and program name.
    Now run the program to be analyzed.
    Stopping the Trace:
    To deactivate the trace:
    Choose Test &#61614;Performance Trace in the ABAP Workbench. The initial screen of the test tool appears. It contains a status line displaying the traces that are active, the users for whom they are active, and the user who activated them.
    Select the trace functions that you want to switch off.
    Choose Deactivate Trace. If you started the trace yourself, you can now switch it off immediately. If the performance trace was started by a different user, a confirmation prompt appears before deactivation-
    <u>Analyzing a Sample trace data:</u>
    PREPARE: Prepares the OPEN statement for use and determines the access method.
    OPEN: Opens the cursor and specifies the selection result by filling the selection fields with concrete values.
    FETCH: Moves the cursor through the dataset created by the OPEN operation. The array size displayed beside the fetch data means that the system can transfer a maximum package size of 392 records at one time into the buffered area.
    <b>Reward if useful</b>

  • Regarding  Plsql tunning

    Hello
    Already One function had in database now days it takes more time to execute
    Please guide me how i tunning this code
    Please check my code
    I have check all code and indexces they are exactly pick up
    FUNCTION balances (p_set_of_books_id IN NUMBER,
    p_period_name IN VARCHAR2,
    p_business_id IN VARCHAR2,
    p_partition_key IN VARCHAR2)
    RETURN NUMBER IS
    ---Cursor to select the period passed as paramete and last six periods.
    CURSOR c_periods(p_period_name VARCHAR2) IS
    SELECT period_name
    FROM gl.gl_periods
    WHERE period_set_name = 'GE_CALENDAR'
    AND start_date <=
    (SELECT start_date
    FROM gl.gl_periods
    WHERE period_set_name = 'GE_CALENDAR'
    AND period_name = p_period_name)
    AND end_date >= (SELECT end_date - 190
    FROM gl.gl_periods
    WHERE period_set_name = 'GE_CALENDAR'
    AND period_name = p_period_name)
    AND period_name NOT LIKE 'ADJ%';
    -- Local variables --
    v_error_code NUMBER := 1;
    lv_count NUMBER := 0;
    lv_tot_count NUMBER := 0;
    lv_sub_pl VARCHAR2(25) := '';
    lv_management_str VARCHAR2(25) := '';
    tlm_rec_count number :=0 ;
    gbal_rec_count number :=0 ;
    gbal_any_run number :=0 ;
    load_data varchar2(1) := 'Y';
    BEGIN
    apps.fnd_file.put_line(which => apps.fnd_file.log,
    buff => 'starting insert into glc_smart_stream_bal_extract');
    DELETE FROM XXCUSTOM.GLC_SMART_STREAM_BAL_EXTRACT
    WHERE BUSINESS_CODE = P_BUSINESS_ID
    AND PERIOD_NAME NOT IN
    (SELECT period_name
    FROM gl.gl_periods
    WHERE period_set_name = 'GE_CALENDAR'
    AND start_date <=
    (SELECT start_date
    FROM gl.gl_periods
    WHERE period_set_name = 'GE_CALENDAR'
    AND period_name = p_period_name)
    AND end_date >=
    (SELECT end_date - 190
    FROM gl.gl_periods
    WHERE period_set_name = 'GE_CALENDAR'
    AND period_name = p_period_name)
    AND period_name NOT LIKE 'ADJ%');
    COMMIT;
    FOR rec_periods IN c_periods(p_period_name)
    LOOP
    apps.fnd_file.put_line(which => apps.fnd_file.log,
    buff => 'inserting records for period - ' ||
    rec_periods.period_name);
    tlm_rec_count := 0;
    gbal_rec_count := 0;
    gbal_any_run :=0 ;
    load_data := 'N';
    apps.fnd_file.put_line(which => apps.fnd_file.log,
    buff => 'processing period ' || rec_periods.period_name||
    'Started ' || to_char(sysdate,'dd-mon-rr hh24:mi:ss'));
    BEGIN
    -- Look if any record exist in the table for this Business and this period
    SELECT COUNT(1)
    INTO TLM_REC_COUNT
    FROM XXCUSTOM.GLC_SMART_STREAM_BAL_EXTRACT
    WHERE PERIOD_NAME = REC_PERIODS.PERIOD_NAME
    AND BUSINESS_CODE = P_BUSINESS_ID;
    EXCEPTION
    WHEN OTHERS THEN
    TLM_REC_COUNT := 0; -- FORCE PROCESSING
    END;
    apps.fnd_file.put_line(which => apps.fnd_file.log,
    buff => 'tlm_rec_count for ' || rec_periods.period_name || ' - ' || tlm_rec_count||
    'Started ' || to_char(sysdate,'dd-mon-rr hh24:mi:ss'));
    if tlm_rec_count > 0 then -------There are more than 0 records in the table
    begin
    apps.fnd_file.put_line(which => apps.fnd_file.log,
    buff => 'Starting to count gbal ' || to_char(sysdate,'dd-mon-rr hh24:mi:ss'));
    select count(1) ----Selecting count of records in gl_balances table for which last update date is after this program was last run.
    into gbal_rec_count
    from gl.gl_balances
    where period_name = rec_periods.period_name and
    set_of_books_id = p_set_of_books_id and
    last_update_date > (select last_run_time
    from XXCUSTOM.glc_smart_stream_bal_ext_run
    where business_code = p_business_id
    -- and period_name=rec_periods.period_name
    apps.fnd_file.put_line(which => apps.fnd_file.log,
    buff => 'FOUND gbal_rec_count for ' || rec_periods.period_name || ' - ' || p_business_id || '- ' || gbal_rec_count||
    'Started ' || to_char(sysdate,'dd-mon-rr hh24:mi:ss'));
    EXCEPTION
    WHEN OTHERS THEN
    apps.fnd_file.put_line(which => apps.fnd_file.log,
    buff => 'NOT FOUND gbal_rec_count for ' || rec_periods.period_name || ' - ' || p_business_id || '- ' || gbal_rec_count||
    'Started ' || to_char(sysdate,'dd-mon-rr hh24:mi:ss'));
    gbal_rec_count := 1; -- force reload of data
    end;
    if gbal_rec_count > 0 then --if there has been update in gl_balance table afte last_run_date then load data
    load_data := 'Y';
    end if;
    else ---There are no records in the table , hence load
    load_data := 'Y';
    end if;
    if load_data = 'Y' then ---Loading data as upload status set to Yes
    apps.fnd_file.put_line(which => apps.fnd_file.log,
    buff => 'loading data for ' || rec_periods.period_name||
    'Started ' || to_char(sysdate,'dd-mon-rr hh24:mi:ss'));
    Begin
    apps.fnd_file.put_line(which => apps.fnd_file.log,
    buff => 'deleting data ' || rec_periods.period_name||
    'Started ' || to_char(sysdate,'dd-mon-rr hh24:mi:ss'));
    delete from xxcustom.glc_smart_stream_bal_extract
    where business_code = p_business_id and
    period_name = rec_periods.period_name; --Deleting data from Table for this business and this period
    commit;
    apps.fnd_file.put_line(which => apps.fnd_file.log,
    buff => 'deleted data ' || rec_periods.period_name||
    'Ended ' || to_char(sysdate,'dd-mon-rr hh24:mi:ss'));
    End;
    --Inserting Records Into Table
    INSERT INTO xxcustom.glc_smart_stream_bal_extract
    (business_code,
    period_name,
    period_num,
    period_year,
    SET_OF_BOOKS_ID ,
    SET_OF_BOOKS_NAME ,
    ble,
    bsla,
    corp_code,
    bus_code,
    account,
    cdr3,
    loan_number,
    account_flexfield,
    currency,
    rpt_end_balance,
    center,
    analysis,
    other,
    orig_end_balance,
    orig_period_net_cr,
    orig_period_net_dr,
    account_description,
    centre_deal_id,
    functional_currency,
    account_type,
    sub_account,
    analysis_desc,
    cost_center_desc,
    gaap_ind,
    management_structure,
    sub_pl,
    cdr6,
    cdr9,
    code_combination_id,
    rpt_open_balance,
    orig_open_bal,
    rpt_net_dr,
    rpt_net_cr)
    SELECT /* + INDEX(fvals1 FND_FLEX_VALUES_N1) INDEX(fvals2 FND_FLEX_VALUES_N1)
    INDEX(fvals3 FND_FLEX_VALUES_N1) INDEX(fvals4 FND_FLEX_VALUES_N1)
    INDEX(fvals5 FND_FLEX_VALUES_N1)*/
    p_business_id business_code,
    bal.period_name period_name,
    bal.period_num period_num,
    bal.period_year period_year,
    gsob.set_of_books_id,
    gsob.name,
    gcc.segment1 ble,
    fvals4.attribute4 bsla,
    fvals4.attribute3 corp_code,
    SUBSTR(gcc.segment1, 4, 3) bus_code,
    gcc.segment3 ACCOUNT,
    SUBSTR(gcc.segment3, 1, 3) cdr3,
    fvals1.attribute2 loan_number,
    segment1 || '.' || segment2 || '.' || segment3 || '.' ||
    segment4 || '.' || segment5 account_flexfield,
    bal.currency_code currency,
    DECODE(bal.currency_code,
    'USR',
    0,
    (BEGIN_BALANCE_DR_BEQ - BEGIN_BALANCE_CR_BEQ) + (PERIOD_NET_DR_BEQ - PERIOD_NET_CR_BEQ)) rpt_end_balance,
    gcc.segment2 center,
    gcc.segment4 analysis,
    gcc.segment5 other,
    DECODE(bal.currency_code,
    'USR',
    0,
    (bal.begin_balance_dr - bal.begin_balance_cr) +
    (bal.period_net_dr - period_net_cr)) orig_end_balance,
    DECODE(bal.currency_code, 'USR', 0, bal.period_net_cr) orig_period_net_cr,
    DECODE(bal.currency_code, 'USR', 0, bal.period_net_dr) orig_period_net_dr,
    fvtl2.description account_description,
    ' ' centre_deal_id,
    ' ' functional_currency,
    gcc.account_type account_type,
    SUBSTR(gcc.segment3, 10, 3) sub_account,
    fvtl3.description analysis_desc,
    fvtl1.description cost_center_desc,
    SUBSTR(gcc.segment1, 10, 1) gaap_ind,
    ' ' management_structure,
    ' ' sub_pl,
    SUBSTR(gcc.segment3, 1, 6) cdr6,
    SUBSTR(gcc.segment3, 1, 9) cdr9,
    gcc.code_combination_id code_combination_id,
    DECODE(BAL.CURRENCY_CODE,
    'USR',0,
    BAL.BEGIN_BALANCE_DR_BEQ - BAL.BEGIN_BALANCE_CR_BEQ) rpt_open_balance,
    DECODE(BAL.CURRENCY_CODE,
    'USR',
    0,
    BAL.BEGIN_BALANCE_DR - BAL.BEGIN_BALANCE_CR) orig_open_bal,
    DECODE(BAL.CURRENCY_CODE,
    'USR',0,
    BAL.PERIOD_NET_DR_BEQ) rpt_net_dr,
    DECODE(BAL.CURRENCY_CODE,
    'USR',0,
    BAL.PERIOD_NET_CR_BEQ) rpt_net_cr
    FROM gl.gl_balances bal,
    gl.gl_code_combinations gcc,
    gl.gl_sets_of_books gsob,
    applsys.fnd_flex_value_sets fsets1,
    applsys.fnd_flex_values fvals1,
    applsys.fnd_flex_values_tl fvtl1,
    applsys.fnd_flex_value_sets fsets2,
    applsys.fnd_flex_values fvals2,
    applsys.fnd_flex_values_tl fvtl2,
    applsys.fnd_flex_value_sets fsets3,
    applsys.fnd_flex_values fvals3,
    applsys.fnd_flex_values_tl fvtl3,
    applsys.fnd_flex_value_sets fsets4,
    applsys.fnd_flex_values fvals4,
    applsys.fnd_flex_values_tl fvtl4,
    applsys.fnd_flex_value_sets fsets5,
    applsys.fnd_flex_values fvals5,
    applsys.fnd_flex_values_tl fvtl5
    WHERE bal.set_of_books_id = p_set_of_books_id
    AND gsob.set_of_books_id= bal.set_of_books_id
    AND bal.period_name = rec_periods.period_name
    AND bal.code_combination_id = gcc.code_combination_id
    AND bal.actual_flag = 'A'
    AND bal.template_id IS NULL
    AND (gcc.segment3 BETWEEN '000000000000' AND '499999999ZZZ' OR gcc.segment3 like '988%')
    --AND gcc.segment1 like 'R%'
    AND gcc.summary_flag = 'N'
    AND fsets1.flex_value_set_name = 'GECS_CENTER'
    AND fvtl1.LANGUAGE = 'US'
    AND fsets2.flex_value_set_name = 'GE_ACCOUNT'
    AND fvtl2.LANGUAGE = 'US'
    AND fsets3.flex_value_set_name = 'GECS_ANALYSIS'
    AND fvtl3.LANGUAGE = 'US'
    AND fsets4.flex_value_set_name = 'GE_BLE_PARAMETERS'
    AND fvtl4.LANGUAGE = 'US'
    AND SUBSTR(gcc.segment1, 1, 9) = fvals4.flex_value
    AND fsets5.flex_value_set_name = 'GECS_BSLA_BIZ_MAPPING'
    AND fvtl5.LANGUAGE = 'US'
    AND fvals5.attribute1 = 'EFS'
    AND fsets1.flex_value_set_id = fvals1.flex_value_set_id
    AND fvals1.flex_value_id = fvtl1.flex_value_id
    --AND fvals1.ENABLED_FLAG = 'Y'
    AND gcc.segment2 = fvals1.flex_value
    AND fsets2.flex_value_set_id = fvals2.flex_value_set_id
    AND fvals2.flex_value_id = fvtl2.flex_value_id
    --AND fvals2.enabled_flag = 'Y'
    AND gcc.segment3 = fvals2.flex_value
    AND fsets3.flex_value_set_id = fvals3.flex_value_set_id
    AND fvals3.flex_value_id = fvtl3.flex_value_id
    --AND fvals3.enabled_flag = 'Y'
    AND gcc.segment4 = fvals3.flex_value
    AND fsets4.flex_value_set_id = fvals4.flex_value_set_id
    AND fvals4.flex_value_id = fvtl4.flex_value_id
    --AND fvals4.enabled_flag = 'Y'
    AND fsets5.flex_value_set_id = fvals5.flex_value_set_id
    AND fvals5.flex_value_id = fvtl5.flex_value_id
    --AND fvals5.enabled_flag = 'Y'
    AND fvals4.attribute4 = fvals5.flex_value;
    COMMIT;
    END IF ;
    COMMIT;
    END LOOP;
    --Insert/Update last_run_time to sysdate for businesses
    BEGIN
    SELECT COUNT(1)
    INTO gbal_any_run
    FROM XXCUSTOM.glc_smart_stream_bal_ext_run
    WHERE BUSINESS_CODE = p_business_id;
    IF (gbal_any_run > 0) THEN
    UPDATE XXCUSTOM.glc_smart_stream_bal_ext_run
    SET LAST_RUN_TIME = SYSDATE
    WHERE BUSINESS_CODE = p_business_id;
    COMMIT;
    ELSE
    INSERT INTO XXCUSTOM.glc_smart_stream_bal_ext_run
    (BUSINESS_CODE, LAST_RUN_TIME)
    VALUES
    (P_BUSINESS_ID, SYSDATE);
    COMMIT;
    END IF;
    END;
    apps.fnd_file.put_line(which => apps.fnd_file.log,
    buff => 'commited records ' || lv_tot_count ||
    ' into into glc_smart_stream_bal_extract');
    RETURN 0;
    EXCEPTION
    WHEN OTHERS THEN
    apps.fnd_file.put_line(which => apps.fnd_file.log,
    buff => 'ERROR IN populate_' || p_business_id ||
    '_balances' || '-' || SQLCODE || '-' ||
    SQLERRM);
    RETURN 2;
    END balances ;

    Saypank wrote:
    Already One function had in database now days it takes more time to execute
    Please guide me how i tunning this code Are you sure that you want to put the code in beer casks?
    http://www.yourdictionary.com/tunning
    Assuming not.
    HOW TO: Post a SQL statement tuning request
    HOW TO: Post a SQL statement tuning request - template posting
    When your query takes too long
    When your query takes too long ...
    Though looking at it quickly the main thing you want to do is remove all the loops and use set based SQL statements instead.
    And remove all the when others exception hiders too.
    http://tkyte.blogspot.com/2008/01/why-do-people-do-this.html
    http://tkyte.blogspot.com/2008/06/when-others-then-null-redux.html

  • Regarding JVM's

    Hello !
    Pardon me for this question . I want to know whether the JVM's available from Sun are different for different platforms ? Does Sun provides JVM's for all the available platforms ?
    Thanks.

    I've never managed to find an official list of supported Java platforms but this private site seems quite informed.
    http://www.geocities.com/marcoschmidt.geo/jvm.html

  • Regarding TV Tuner

    Dear Sir
                      I have HP Pavelion dv4 1318tu laptop and i want to know integrated tv tuner is present in this model or not???
    please reply
                                     thanks

    Here is another Thread about the same problem. This has been an ON-Going problem. Here is the other thread:
     Home > Notebook > TV/Media Center > Pavilion dv7t - no TV tuner signal
    http://h30434.www3.hp.com/t5/Notebook-TV-Tuners-and-Media/Pavilion-dv7t-no-TV-tuner-signal/td-p/1883...
    If you have a problem with your Integral TV Tuner, Have HP support connect you with the Escalation Team and they offer vouchers and the USB HP TV Tuner.
    The problem is the design of the Port and connector. Why I had to waste my time sending my unit twice back and get no permanent solution is just outrageously incompetent when they knew they had a problem

  • Is JVM shared accross Managed Server

    Hi Guys,
    I have a basic question wrt the JVM usage in weblogic cluster.
    I have have configured cluster environment in a single Weblogic Domain with 2 managed server in a single box.
    In such case will the 2 managed server share the same JVM or each managed server will have its own JVM?
    Regards
    Suresh.

    Hi Suresh,
    Every WLS Server is a Java Program .. and it runs on it's own JVM. Thats why we have an option to allocate different Heap and JVM Tunning settings for Separate WLS instances even if they are on the same Physical box or remote.
    But it doesn't mean that u need to install JDK two times in your Box for every Managed Server. Both the Managed Servers can use the same JAVA_HOME.
    Thanks
    Jay SenSharma
    http://weblogic-wonders.com/ (Wonders Are here)

  • Please tell me about the jvm architecture

    i need some help regarding jvm architecture. can anybody explain it for me. i am very new to java so that i am asking like this

    That's a very broad, vague question.
    http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html

  • JVM for various OS

    I new to Java,I have one basic doubt regarding JVM,
    Is JVM designed by the OS developers or SUN itself design the different JVMs for the different Operating Systems?

    Hi harish...
    Because of Java portability feature .. the java program's transformation process, from source code to machine executable, into 2 steps....
    * 1 .Step..
    i.e example.java to example.class ( using "javac" compiler it is converted to "bytecode" i.e "class" file)
    there is nothing big deal about this "class" file (bytecode).Its just a simple flat file having JVM(java virtual machine) instructions and symbol table of java's flavour( also called runtime constant pool table, having references to runtime variables and methods etc.. that is need at linking process, to execute the program)...
    * 2.Step..
    tranforms the class file ie..
    from example.class to machine executable(using JVM )
    JVM is interpreter that reads JVM instructions from the class file and transfroms them into appropriate machine equivalent code of the host machine...
    purly speaking interpreter is more robust than compiler .. for extremely runtime error prone programs...and more over JVM instructions are siblings to assembly code and thus requires interpreter rathar than compiler...because at the end of the any CPU executes only one instruction at a time....
    Hope I answered your question.....

  • Jrockit crashes due to outofmemory and illegal memory acces

    Hello,
    We have been using jrmc-3.1.2-1.6.0 and lately we are seeing JVM crashes after every couple days. Note: We have been seeing these crashes recently , for last 1 year we did not see such crashes.
    Following are different issues that we have seen over last few days:
    1. Crash due to illegal memory access
    2. Crash due to out of memory error
    3. Sever becoming unresponsive/Idle
    For illegal memory access and out of memory crashes, there was jRockit dump file created and Dump file seems to be pointing at Jrockit libjvm.so module for the exception/crash.
    Any help would be appreciated!
    *** Dump for Illegal Memory Access
    Error Message: Illegal memory access. [54]
    Signal info : si_signo=11, si_code=1 si_addr=0x10
    Version : BEA JRockit(R) R27.6.5-32_o-121899-1.6.0_14-20091001-2113-linux-ia32
    CPU : Intel Core i7 (HT) SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 Core Intel64
    Number CPUs : 4
    Tot Phys Mem : 12762509312 (12171 MB)
    OS version : Red Hat Enterprise Linux Server release 5.6 (Tikanga)
    Linux version 2.6.18-164.15.1.el5PAE ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Mon Mar 1 11:14:09 EST 2010 (i686)
    Thread System: NPTL
    Java locking : Lazy unlocking enabled (class banning) (transfer banning)
    State : JVM is running
    Command Line : -Djava.util.logging.config.file=/usr/local/springsource/tcServer-6.0/zplus/conf/logging.properties -Djava.util.logging.manager=com.springsource.tcserver.serviceability.logging.TcServerLogManager -Xmx2048m -Xms2048m -Djava.rmi.server.hostname=300714-web8.echovox.com -XgcPrio:pausetime -DTERRACOTTA_URL=338449-web10.echovox.com:9510,338450-web11.echovox.com:9510 -Dapp_version= -Xmanagement -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dehcache.monitor.enabled=True -Djava.endorsed.dirs=/usr/local/springsource/tcServer-6.0/tomcat-6.0.20.A/endorsed -Dcatalina.base=/usr/local/springsource/tcServer-6.0/zplus -Dcatalina.home=/usr/local/springsource/tcServer-6.0/tomcat-6.0.20.A -Djava.io.tmpdir=/usr/local/springsource/tcServer-6.0/zplus/temp -Dsun.java.launcher=SUN_STANDARD org.apache.catalina.startup.Bootstrap start
    java.home : /usr/local/jrmc-3.1.2-1.6.0/jre
    j.class.path : :/usr/local/springsource/tcServer-6.0/tomcat-6.0.20.A/bin/bootstrap.jar
    j.lib.path : /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/jrockit:/usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386:/usr/local/jrmc-3.1.2-1.6.0/jre/../lib/i386
    JAVA_HOME : <not set>
    JAVAOPTIONS: <not set>
    LD_LIBRARY_PATH: /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/jrockit:/usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386:/usr/local/jrmc-3.1.2-1.6.0/jre/../lib/i386
    LD_PRELOAD : <not set>
    LD_ASSUME_KERNEL: <not set>
    StackOverFlow: 0 StackOverFlowErrors have occured
    OutOfMemory : 0 OutOfMemoryErrors have occured
    C Heap : Good; no memory allocations have failed
    GC Strategy : Mode: pausetime. Currently using strategy: genconcon
    GC Status : OC currently running, in phase: marking. This is OC#2905.
    : YC is not running. Last finished YC was YC#100045.
    OC History : Strategy genconcon was used for OC#2776.
    : Strategy genconpar was used for OC#2777 to OC#2781.
    : Strategy genconcon was used for OC#2782 to OC#2783.
    : Strategy genconpar was used for OC#2784 to OC#2790.
    : Strategy genconcon was used for OC#2791 to OC#2905.
    YC History : Ran 1 YCs before OC#2901.
    : Ran 0 YCs before OC#2902.
    : Ran 1 YCs before OC#2903.
    : Ran 0 YCs before OC#2904.
    : Ran 2 YCs before OC#2905.
    YC Promotion : Last YC successfully promoted all objects
    Heap : 0x8b00000 - 0x88b00000 (Size: 2048 MB)
    Compaction : 0x49b00000 - 0x51b00000 (Current compaction type: internal)
    NurseryList : 0xaf67e18 - 0x8226c988
    KeepArea : 0x817031e8 - 0x8226c988
    NurseryMarker: [ 0x80d031f0,  0x817031e8 ]
    CompRefs : References are 32-bit.
    Registers (from ThreadContext: 0x96b75420 / OS context: 0x96b7551c):
    eax = 00000000 ecx = ffffffcc edx = 8b80eb78 ebx = 8b80eb78
    esp = 96b75814 ebp = 96b75960 esi = 96b75a48 edi = 00000000
    es = 0000007b cs = 00000073 ss = 0000007b ds = 0000007b
    fs = 00000000 gs = 00000033
    eip = b7d3a397 eflags = 00210296
    Loaded modules:
    (* denotes the module causing the exception)
    08048000-08058233 /usr/local/jrmc-3.1.2-1.6.0/jre/bin/java
    b7f24000-b7f2462b /usr/local/jrmc-3.1.2-1.6.0/jre/bin/java
    00754000-00768f17 /lib/libpthread.so.0
    006b2000-006d8a23 /lib/libm.so.6
    006ab000-006ad0fb /lib/libdl.so.2
    00550000-006a2723 /lib/libc.so.6
    00531000-0054b4f7 /lib/ld-linux.so.2
    b7c46000-b7e9fea7 */usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/jrockit/libjvm.so
    007a3000-007a9ebf /lib/librt.so.1
    b722f000-b723839b /lib/libnss_files.so.2
    b7118000-b71229bb /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/libverify.so
    b70f3000-b7115f57 /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/libjava.so
    007ae000-007c27a7 /lib/libnsl.so.1
    b723e000-b7243ef0 /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/native_threads/libhpi.so
    b59f0000-b59fe3e4 /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/libzip.so
    b5805000-b580a666 /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/libmanagement.so
    b5224000-b5236a18 /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/libnet.so
    b723c000-b723c6ad /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/librmi.so
    b2d42000-b2d45c2f /lib/libnss_dns.so.2
    b2d2e000-b2d3d74b /lib/libresolv.so.2
    b2d4a000-b2d503a4 /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/libnio.so
    b1f9d000-b1fc5857 /usr/local/springsource/tcServer-6.0/zplus/temp/tmpSigarJars841342613926113968186721535772/libsigar-x86-linux-1.6.4.so
    Stack:
    (* marks the word pointed to by the stack pointer)
    96b75814: b7cbce41* 00000000 006772e2 b04dbab8 006a4ff4 00000030
    96b7582c: 00000002 96b758a0 00000000 00000000 00010000 0061eea8
    96b75844: b7e48510 00010000 00000000 0061eeb9 b7d8f0f8 20000000
    96b7585c: 00010000 00000000 00004022 ffffffff 00000000 96b75890
    Code:
    (* marks the word pointed to by the instruction pointer)
    b7d3a364: c0a108ec e8b7f0fe ffffffa0 f0fed4a1 ff96e8b7 b8c9ffff
    b7d3a37c: 00000001 900debc3 90909090 90909090 90909090 8be58955
    b7d3a394: 8b5d0845* d2851050 0fc0950f b60fc0b6 768dc3c0 27bc8d00
    b7d3a3ac: 00000000 53e58955 0134ec81 9d8d0000 fffffee8 04245c89
    "RMI TCP Connection(idle)" id=440712 idx=0x7c4 tid=825 lastJavaFrame=0x96b75ecc
    Stack 0: start=0x96b54000, end=0x96b78000, guards=0x96b59000 (ok), forbidden=0x96b57000
    Thread Stack Trace:
    at jniExceptionCheck+7()@0xb7d3a397
    at cmgrGenerateCode+260()@0xb7cbe024
    at generate_code2+937()@0xb7da6c99
    at generate_code+97()@0xb7da6f11
    at get_runnable_codeinfo2+275()@0xb7da74c3
    at call_java+317()@0xb7d42f0d
    at jniInvoke+110()@0xb7d451be
    -- Java stack --
    at jrockit/vm/Reflect.invokeMethod(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Native Method)
        at sun/reflect/NativeConstructorAccessorImpl.newInstance0(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;(Native Method)
        at sun/reflect/NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun/reflect/DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)[optimized]
    at java/lang/reflect/Constructor.newInstance(Constructor.java:513)[optimized]
    at java/lang/Class.newInstance0(Class.java:355)[inlined]
    at java/lang/Class.newInstance(Class.java:308)[optimized]
    at sun/reflect/MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
    at jrockit/vm/AccessController.doPrivileged(AccessController.java:233)[inlined]
    at jrockit/vm/AccessController.doPrivileged(AccessController.java:241)[inlined]
    at sun/reflect/MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)[optimized]
    at sun/reflect/MethodAccessorGenerator.generateMethod(MethodAccessorGenerator.java:59)
    at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:28)
    at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[optimized]
    at java/lang/reflect/Method.invoke(Method.java:597)[inlined]
    at java/io/ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)[inlined]
    at java/io/ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)[optimized]
    at java/io/ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)[inlined]
    at java/io/ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)[inlined]
    at java/io/ObjectOutputStream.writeObject(ObjectOutputStream.java:326)[optimized]
    at sun/rmi/server/UnicastRef.marshalValue(UnicastRef.java:274)
    at sun/rmi/server/UnicastServerRef.dispatch(UnicastServerRef.java:315)
    at sun/rmi/transport/Transport$1.run(Transport.java:159)
    at jrockit/vm/AccessController.doPrivileged(AccessController.java:255)[optimized]
    at sun/rmi/transport/Transport.serviceCall(Transport.java:155)
    at sun/rmi/transport/tcp/TCPTransport.handleMessages(TCPTransport.java:535)
    at sun/rmi/transport/tcp/TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
    at sun/rmi/transport/tcp/TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
    at java/util/concurrent/ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[inlined]
    at java/util/concurrent/ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[optimized]
    at java/lang/Thread.run(Thread.java:619)[optimized]
    at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
    -- end of trace
    Extended, platform specific info:
    libc release: 2.5-stable
    Elf headers:
    libc ehdrs: EI: 7f454c46010101000000000000000000 ET: 3 EM: 3 V: 1 ENTRY: 00565fe0 PHOFF: 00000034 SHOFF: 0019ccbc EF: 0x0 HS: 52 PS: 32 PHN; 10 SS: 40 SHN: 75 STIDX: 74
    libpthread ehdrs: EI: 7f454c46010101000000000000000000 ET: 3 EM: 3 V: 1 ENTRY: 00758850 PHOFF: 00000034 SHOFF: 00021474 EF: 0x0 HS: 52 PS: 32 PHN; 9 SS: 40 SHN: 40 STIDX: 39
    libjvm ehdrs: EI: 7f454c46010101000000000000000000 ET: 3 EM: 3 V: 1 ENTRY: 0004c3a0 PHOFF: 00000034 SHOFF: 012c9a58 EF: 0x0 HS: 52 PS: 32 PHN; 4 SS: 40 SHN: 29 STIDX: 26
    * If you see this dump, please go to *
    * http://edocs.bea.com/jrockit/go2troubleshooting.html *
    * for troubleshooting information. *
    ===== END DUMP ===============================================================
    ****** Dump for OutOfMemory error
    Error Message: Out of memory [68]
    Signal info : si_signo=11, si_code=1 si_addr=(nil)
    Fatal Error : Reference Iteration refIterInit src/jvm/code/runtime/refiter.c:167
    Version : BEA JRockit(R) R27.6.5-32_o-121899-1.6.0_14-20091001-2113-linux-ia32
    CPU : Intel Core i7 (HT) SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 Core Intel64
    Number CPUs : 4
    Tot Phys Mem : 12762509312 (12171 MB)
    OS version : Red Hat Enterprise Linux Server release 5.6 (Tikanga)
    Linux version 2.6.18-164.15.1.el5PAE ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Mon Mar 1 11:14:09 EST 2010 (i686)
    Thread System: NPTL
    Java locking : Lazy unlocking enabled (class banning) (transfer banning)
    State : JVM is running
    Command Line : -Djava.util.logging.config.file=/usr/local/springsource/tcServer-6.0/zplus/conf/logging.properties -Djava.util.logging.manager=com.springsource.tcserver.serviceability.logging.TcServerLogManager -Xmx2048m -Xms2048m -Djava.rmi.server.hostname=300714-web8.echovox.com -XgcPrio:pausetime -DTERRACOTTA_URL=338449-web10.echovox.com:9510,338450-web11.echovox.com:9510 -Dapp_version= -Xmanagement -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dehcache.monitor.enabled=True -Djava.endorsed.dirs=/usr/local/springsource/tcServer-6.0/tomcat-6.0.20.A/endorsed -Dcatalina.base=/usr/local/springsource/tcServer-6.0/zplus -Dcatalina.home=/usr/local/springsource/tcServer-6.0/tomcat-6.0.20.A -Djava.io.tmpdir=/usr/local/springsource/tcServer-6.0/zplus/temp -Dsun.java.launcher=SUN_STANDARD org.apache.catalina.startup.Bootstrap start
    java.home : /usr/local/jrmc-3.1.2-1.6.0/jre
    j.class.path : :/usr/local/springsource/tcServer-6.0/tomcat-6.0.20.A/bin/bootstrap.jar
    j.lib.path : /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/jrockit:/usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386:/usr/local/jrmc-3.1.2-1.6.0/jre/../lib/i386
    JAVA_HOME : <not set>
    JAVAOPTIONS: <not set>
    LD_LIBRARY_PATH: /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/jrockit:/usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386:/usr/local/jrmc-3.1.2-1.6.0/jre/../lib/i386
    LD_PRELOAD : <not set>
    LD_ASSUME_KERNEL: <not set>
    StackOverFlow: 0 StackOverFlowErrors have occured
    OutOfMemory : 0 OutOfMemoryErrors have occured
    C Heap : 1 memory allocations have failed
    : First failure was a mmMalloc of 20 bytes
    : Last failure was a mmMalloc of 20 bytes
    GC Strategy : Mode: pausetime. Currently using strategy: genconpar
    GC Status : OC is not running. Last finished OC was OC#1945.
    : YC is not running. Last finished YC was YC#90824.
    OC History : Strategy genconpar was used for OC#1745 to OC#1755.
    : Strategy genparpar was used for OC#1756 to OC#1757.
    : Strategy genconpar was used for OC#1758 to OC#1938.
    : Strategy genparpar was used for OC#1939 to OC#1940.
    : Strategy genconpar was used for OC#1941 to OC#1945.
    YC History : Ran 1 YCs before OC#1941.
    : Ran 6 YCs before OC#1942.
    : Ran 4 YCs before OC#1943.
    : Ran 6 YCs before OC#1944.
    : Ran 4 YCs before OC#1945.
    : Ran 5 YCs since last OC.
    YC Promotion : Last YC successfully promoted all objects
    Heap : 0x8100000 - 0x88100000 (Size: 2048 MB)
    Compaction : 0x64100000 - 0x68100020 (Current compaction type: internal)
    NurseryList : 0x8214640 - 0x84438f20
    KeepArea : (no keeparea in use)
    NurseryMarker: [ 0x827bfd10,  0x83996a00 ]
    CompRefs : References are 32-bit.
    Registers (from ThreadContext: 0x2a96c20 / OS context: 0x2a96d1c):
    eax = 00001267 ecx = 00000000 edx = 00000042 ebx = b7eb0de4
    esp = 02a97010 ebp = 02a97028 esi = 00000044 edi = 02a97078
    es = 0000007b cs = 00000073 ss = 0000007b ds = 0000007b
    fs = 00000000 gs = 00000033
    eip = b7cfca45 eflags = 00010206
    Loaded modules:
    (* denotes the module causing the exception)
    08048000-08058233 /usr/local/jrmc-3.1.2-1.6.0/jre/bin/java
    b7f44000-b7f4462b /usr/local/jrmc-3.1.2-1.6.0/jre/bin/java
    00754000-00768f17 /lib/libpthread.so.0
    006b2000-006d8a23 /lib/libm.so.6
    006ab000-006ad0fb /lib/libdl.so.2
    00550000-006a2723 /lib/libc.so.6
    00531000-0054b4f7 /lib/ld-linux.so.2
    b7c66000-b7ebfea7 */usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/jrockit/libjvm.so
    007a3000-007a9ebf /lib/librt.so.1
    b724f000-b725839b /lib/libnss_files.so.2
    b7138000-b71429bb /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/libverify.so
    b7113000-b7135f57 /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/libjava.so
    007ae000-007c27a7 /lib/libnsl.so.1
    b725e000-b7263ef0 /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/native_threads/libhpi.so
    b5972000-b59803e4 /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/libzip.so
    b5803000-b5808666 /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/libmanagement.so
    b51a8000-b51baa18 /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/libnet.so
    b725c000-b725c6ad /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/librmi.so
    b2dae000-b2db1c2f /lib/libnss_dns.so.2
    b2d9a000-b2da974b /lib/libresolv.so.2
    b47ae000-b47b43a4 /usr/local/jrmc-3.1.2-1.6.0/jre/lib/i386/libnio.so
    b1ec7000-b1eef857 /usr/local/springsource/tcServer-6.0/zplus/temp/tmpSigarJars551489478996731294326116727652638760/libsigar-x86-linux-1.6.4.so
    Stack:
    (* marks the word pointed to by the stack pointer)
    02a97010: b7ec5040* 00000200 b7eb0de4 02a97078 02a97078 02a97034
    02a97028: 02a97048 b7e78894 00000044 b7eb0de4 02a97078 00000001
    02a97040: 02a970d0 02a97110 02a97068 b7e788bf 00000044 b7eb0de4
    02a97058: 02a97078 b666692a 00000001 02a970d0 02a97088 b7e2147a
    Code:
    (* marks the word pointed to by the instruction pointer)
    b7cfca14: 4c892074 458b0824 2404c710 b7ec5040 0c244489 000200b8
    b7cfca2c: 24448900 b5dae804 01b80017 a3000000 b7ec5024 001267b8
    b7cfca44: 0000a300* 04c70000 00003f24 bdcae800 768d0017 27bc8d00
    b7cfca5c: 00000000 e589fc55 53c03157 b9e87d8d 00000004 00c0ec81
    "tomcat-http--119" id=24059 idx=0x60c tid=8771 lastJavaFrame=0xfffffffc
    Stack 0: start=0x2a74000, end=0x2a98000, guards=0x2a79000 (ok), forbidden=0x2a77000
    Thread Stack Trace:
    at dumpForceDump+117()@0xb7cfca45
    at vmFatalErrorMsgV+84()@0xb7e78894
    at vmFatalErrorMsg+31()@0xb7e788bf
    at fatalError+42()@0xb7e2147a
    at refIterInit+111()@0xb7e215bf
    at trProcessLocksForThread+41()@0xb7e300f9
    at get_all_locks+106()@0xb7d476ca
    at javaLockConvertLazyToThin+99()@0xb7d477b3
    at javaLockUnmatchedLock+802()@0xb7d488f2
    at jniMonitorEnter+48()@0xb7d66cf0
    at vmtiDetachFromThreadObject+85()@0xb7d9ec85
    at tsiThreadStub+147()@0xb7d9f0f3
    at ptiThreadStub+18()@0xb7e0e1d2
    at start_thread+226()@0x759832
    at __clone+94()@0x62245e
    -- Java stack --

    From the command-line (-Dehcache.monitor.enabled=True) you are using some form of caching.
    The out-of-memory occured as the JVM was unable the allocate an object: C Heap : 1 memory allocations have failed
    Could you check how the live data set is going (or the memory leak detector)
    Some concerns with regard to tune a JVM that runs a cache can be found here: http://middlewaremagic.com/weblogic/?p=7083
    Note that the example given discusses Coherence, but can be adopted for another caching mechanism as well.

  • Sun identity manager -  java.lang.OutOfMemory

    Hi, I have one very interesting issue regarding JVM memory. I have one sun idm (version 7) application deployed in sun java web application server. I am facing JVM error - java.lang.OutOfMemory very frequently now days in production server. I am sharing you the details regarding configuration :
    Their are 4 app servers - IDMAPP01 IDMAPP02 IDMAPP03 IDMAPP04
    current total memory on each of the 4 app server 8 GB
    memory allocated to JVM on each server 5 GB
    os - solaris
    admin task recon are performed only on instance - IDMAPP04
    JVM setting is - -Xmx5g -Xms5g -Xmn1500m -XX:MaxPermSize=512m
    Log file locations:
    /var/opt/SUNWappserver/domain1/logs/vm.log
    /var/opt/SUNWappserver/domain1/logs/gc.log
    /opt/SUNWappserver/appserver/config/asadminenv.conf
    /opt/SUNWappserver/appserver/config/asenv.conf
    idm app deployment path:
    /var/opt/SUNWappserver/domain1/applications/j2ee-modules/idm
    logpath
    /var/opt/SUNWappserver/domain1/logs/
    Whenever I am getting this issue, we are restarting all the 4 server instances which is impacting business as this is prod server.
    Can anyone suggest how can I solve this issue. (please suggest good performance tuning tips without increasing physical memory).
    Regards,
    Jimmy

    886672 wrote:
    Hi, I have one very interesting issue regarding JVM memory. I have one sun idm (version 7) application deployed in sun java web application server. I am facing JVM error - java.lang.OutOfMemory very frequently now days in production server. I am sharing you the details regarding configuration :
    Their are 4 app servers - IDMAPP01 IDMAPP02 IDMAPP03 IDMAPP04
    current total memory on each of the 4 app server 8 GB
    memory allocated to JVM on each server 5 GB
    what else is running on those servers and how much memory are those applications consuming?
    os - solaris
    admin task recon are performed only on instance - IDMAPP04
    JVM setting is - -Xmx5g -Xms5g -Xmn1500m -XX:MaxPermSize=512mIf IDMAPP04 is doing different things from the other servers, then they should be configured differently. What garbage collector are you using?
    >
    Log file locations:
    /var/opt/SUNWappserver/domain1/logs/vm.log
    /var/opt/SUNWappserver/domain1/logs/gc.log
    /opt/SUNWappserver/appserver/config/asadminenv.conf
    /opt/SUNWappserver/appserver/config/asenv.confYou may want to have a loog at the gc.log file provided you have actually enabled gc logging which you should at least until you have resolved your memory problems.
    >
    idm app deployment path:
    /var/opt/SUNWappserver/domain1/applications/j2ee-modules/idm
    logpath
    /var/opt/SUNWappserver/domain1/logs/
    Whenever I am getting this issue, we are restarting all the 4 server instances which is impacting business as this is prod server.Why? The whole idea behind running recon on a separate server is that you can restart that one without affecting the others.
    Can anyone suggest how can I solve this issue. (please suggest good performance tuning tips without increasing physical memory).
    Enable gc logging and use a profiler to capture the behaviour of the jvm. You need to understand what it is doing and find where the problem area is before you can recommend what to tune.
    Regards,
    Jimmy

  • NHRT and illegal memory parameter

    Hi
    I'm trying to make a set of NHRTs by calling them from the Main class as shown below:-
    PeriodicThread Class:-
    package task_set;
    import javax.realtime.*;
    import java.io.StringWriter;
    public class PeriodicThread extends NoHeapRealtimeThread {
    // The following parameters and constructor for Priority_based scheduler
    int p; //Priority relative to min priority
    PriorityScheduler ps;
    ReleaseParameters rp;
    StringWriter st;
    Clock cl;
    PeriodicThread(int p_in,ReleaseParameters rp_in,PriorityScheduler ps_in,StringWriter st_in,Clock cl_in){
    super(new PriorityParameters(ps_in.getMinPriority()+p_in),rp_in,ImmortalMemory.instance());
    p=p_in;
    rp=rp_in;
    ps=ps_in;
    st=st_in;
    cl=cl_in;
    public void run(){
    try{
    st.write("ID:"+this.getId()+",Priority:"+this.getPriority()+",Cost"+this.getProcessingGroupParameters().getCost()+",R_Deadline:"+this.getProcessingGroupParameters().getDeadline()+",Period:"+this.getProcessingGroupParameters().getPeriod()+",Start:"+this.getProcessingGroupParameters().getStart()+",Now:"+cl.getTime());
    }catch(Exception e){
    e.printStackTrace();
    Main Class
    package task_set;
    import javax.realtime.*;
    import java.io.StringWriter;
    public class Main {
    * @param args the command line arguments
    public static void main(String[] args) {
    // TODO code application logic here
    int pri=4; //priority
    Clock cl=Clock.getRealtimeClock();
    PriorityScheduler ps=(PriorityScheduler)Scheduler.getDefaultScheduler();
    PeriodicParameters rp=new PeriodicParameters(cl.getTime().add(1000, 0),new RelativeTime(10,0),new RelativeTime(5,0),new RelativeTime(10,0),null,null);
    StringWriter sw= new StringWriter(5000);
    //MemoryArea ma=RealtimeThread.getCurrentMemoryArea();
    try{
    PeriodicThread pt1=new PeriodicThread(pri,rp,ps,sw,cl);
    pt1.start();
    }catch(Exception e){
    e.printStackTrace();
    Program compiles without errors, but when run gives the following error:-
    java.lang.IllegalArgumentException: Illegal Memory Area Passed or argument allocated in heap
    at javax.realtime.NoHeapRealtimeThread.<init>(NoHeapRealtimeThread.java:219)
    at javax.realtime.NoHeapRealtimeThread.<init>(NoHeapRealtimeThread.java:196)
    at javax.realtime.NoHeapRealtimeThread.<init>(NoHeapRealtimeThread.java:130)
    at task_set.PeriodicThread.<init>(PeriodicThread.java:23)
    at task_set.Main.main(Main.java:27)
    I tried to look for on line code examples for NHRTs to see what the wrong with "memory" parameter is but there are few examples and do not mention more information about memory parameters.
    Please help.

    From the command-line (-Dehcache.monitor.enabled=True) you are using some form of caching.
    The out-of-memory occured as the JVM was unable the allocate an object: C Heap : 1 memory allocations have failed
    Could you check how the live data set is going (or the memory leak detector)
    Some concerns with regard to tune a JVM that runs a cache can be found here: http://middlewaremagic.com/weblogic/?p=7083
    Note that the example given discusses Coherence, but can be adopted for another caching mechanism as well.

  • More than 100 mb xml file , giving out of memory error in BIP 10.1.3.4

    We are running outofmemory error, java heap space error, if we run a report which has more than 100mb xml, with two or more grouping in RTF template.
    How to configure it to work with better performance for bigger XML files ?
    Any particular setup , pointers are welcome.
    Thanks.

    Long time no see vet. Your problem sucks. I would go to sun site review there articles on JVM tunning. To solve this problem you will need to change the command line arguments to JVM to increase the heap space.
    java -Xms<initial heap size> -Xmx<maximum heap size>
    Defaults are usually: java -Xms32m -Xmx128m
    -Xm*s* - initial java heap size
    -Xm*x* - maximum java heap size
    -Xm*n* - the size of the heap for the young generation
    This is a good article: http://java.sun.com/developer/technicalArticles/Programming/turbo/
    Also, if this solves your problem please check it off so I can get some points. I've been out of the game for awhile.
    Ike Wiggins
    http://bipublisher.blogspot.com

  • Memory leak on SunOne Web Server 6.1 on application reload

    Hi!
    I am pretty sure that i have found a memory management problem in
    SunOne Web Server 6.1 .
    It started with an OutOfMemory error we got under heavy load . After
    some profiling with Jprofiler i didn't find any memory leaks in the
    application.Even under heavy load (generated by myself) i can't find
    anything ,more, i can't reproduce the error! The memory usage is
    about 20Mb and does not go up .
    However it is pretty simple to see the following behavior:
    [1] Restart the server (to have a clear picture) and wait a little for
    memory usage to stabilize.
    [2] In the application dir. touch .reload or one of the classes:
    The memory usage goes up by another 50Mb (huge amount of mem. taking
    into account the fact that it used only 20Mb under any load befor).
    Do this another time and another 20Mb gone etc..
    The JProfiler marks the memory used by classes . And it can be
    clearly seen the GC can't release most of it.
    I AM sure this is not the application that takes all the memory.
    Another hint : after making the server to reload application i can see
    that the number of threads ON EVERY RELOAD is going up by ~10-20
    threads .The # of threads goes lower over time but not the mem usage.
    My system:
    Sparc Solaris 9 ,Java 1.4.2_04-b05, Sun ONE Web Server 6.1SP5
    Evgeny

    my guess is that - because of '.reload' , web container tries to
    recompile all the classes that you use within your web application and
    hence the memory growth is spiking up.What do you mean by "tries to recompile"?The classes in
    Web-inf are already compiled! And i have only ~5 jsp's .
    (the most part of the applic. is a complicated business logic)
    If you are talking about reloading them ,yes,that's the purpose of .reload,
    isn't it? :).But it seems that container uses the memory for it's own
    classes: the usage of memory for my classes don't really grow
    that much (if at all) after reload (according to profiler)
    Also the real problem is that the memory usage grows to much for
    too long (neither seen it going down) and thus ends with OutOfMemory.
    if you are seeing the memory growth to be flat in stress environment,
    then I am not sure that why do you think that there is a memory leak ?There is no memory leak in stress environment.
    There is memory leak while reloading the application.
    It is a memory hog for sure (~20-30Mb for every reload).
    Memory leak?It seems that way because i can't see memory usage go
    down and after a lot of reloads OutOfMemory is thrown.
    also, what is jvm heap that you use ? did you try jvm tune options like -
    XX:+AggressiveHeap ?256Mb.I can set it bigger ,but how do i know that it will not just delay
    the problem ?
    Thanks for response.
    Evgeny

  • Performance tuning through OEM

    Hi,
    I am unable to run performance tuning pack through OEM. Initially when i was not connected with any production database it worked. Now whenever i click performance manager, performance manager over view, etc it simply hangs where as diagnositc packs such as oracle expert are all working. I have increased the java_pool_size to 50M from 24M both in the remote database machine and in server but still i unable to run it through remote database machine. I have configured rman in the remote database and taking fullbackup, logical back up through it but the performance pack hangs whenever i run it. I am new to dba. statstical report collected through statspack report gives no idea for me to tune. Please help me what to do in this regard to tune the database.
    What are the vital points one has to tune and how to tune it.

    Brain heart,
    As you have mentioned that you are new in Tuning so I shall say first is to understand what exactly we are hunting for.Please read Performance Tuning guide frm oracle docs.
    You have not mentioned any version for your db so I am assumig 10g.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/toc.htm
    Also there is an excellent guide from 9i docs, called Performance Planning also read that one.
    And to understand tuning and its various know hows, get these books,
    Optimize Oracle Performance--Carry Millsap
    Oracle Wait Interface --Richmond Shee
    Forecasting Oracle Performance --Craig Shallahamer
    These will help you in understanding alot of things which will help for sure.
    Aman....

Maybe you are looking for

  • Create an event in Photos.app

    How can I create an event in the new Photos.app The only way I found was to create a new Album with my imported photos from my Hard-Drive and than, give it the name of the event I wish. This procedure is very long and not easy to do. With iPhoto I ju

  • Abandoned Mac OS Server as PDC

    We bought a dual 2.3 XServe in hopes of using it to replace an aging NT PDC and File server. I thought of going a couple different directions (another Windows box, a linux box with Samba,etc.). When I heard Apple had a product that incorporated OpenL

  • IOS 4.2.1 problem

    Hi. I have a problem that came with iOS 4.2.1. When im talking on the phone and resiewe a text or mail, the phone vibrates. This is not nice, during a phonecall it should just play a sound?! Sorry for bad english

  • Error in Vendor consignment return PO.

    Dear MM experts, I'm creating a vendor consignment return PO but there's an error message " Return with SD delivery not possible for consignment items". Kindly assist which config that I'm missing out. Regards, DSingh.

  • Problems Exporting to Quicktime.  Would you use Profcast?

    Using the new Keynote, which is promising, we recording a seminar that was 2 hours long. We wanted to distribute it via CD. We have tried to export it so many ways to Quicktime. We get the old "Your slideshow cannot be exported as a Quicktime movie.