Uncorrelated GC STW pauses in ParNew + sys cpu time spikes from jvm calls

Hi, JVM experts.
GC is not an easy subject to grab all its subtleties, so I'm looking for some advice with my situation where to dig further.
The overall picture:
1) Linux smp (2.6.5) x86_64 host with 8G memory, 2x2Ghz xeon (HT) CPUs
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_02-b05, mixed mode)
2) Heap: -Xms4500M -Xmx4500M -XX:MaxNewSize=128m -XX:NewSize=128m -XX:MaxPermSize=128m -XX:PermSize=128m
3) GC: -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=0 -XX:SurvivorRatio=128 -XX:CMSInitiatingOccupancyFraction=60 -XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:+PrintGCApplicationStoppedTime -XX:+PrintClassHistogram
4) Application is running under consistent traffic for two weeks.
5) I monitor the system with "sar"
6) Once or twice a week I observe the kernel-space cpu usage spike to ~90% for a duration <10 seconds.
7) I detect the cpu spike and dump a snapshot of the system situation. It's the JVM which consumes the syscpu time. JVM is sent SIGQUIT at the same instant.
There are two points, I'm rather vague about.
1) All cpu load situations have the following similar pattern in GC log file:
195098.019: [GC 195098.019: [ParNew
Desired survivor size 491520 bytes, new threshold 0 (max 0)
: 129152K->0K(130112K), 0.0754030 secs] 1549718K->1448253K(4607040K), 0.0755550 secs]
Total time for which application threads were stopped: 0.0758180 seconds
Application time: 0.5316910 seconds
Total time for which application threads were stopped: 0.0003550 seconds
Application time: 0.0695990 seconds
Total time for which application threads were stopped: 0.0001620 seconds
Application time: 0.1657730 seconds
Total time for which application threads were stopped: 0.0001780 seconds
Application time: 0.0000350 seconds
Total time for which application threads were stopped: 0.0000440 seconds
Application time: 0.2738210 seconds
Total time for which application threads were stopped: 0.0003530 seconds
Application time: 0.3108570 seconds
195099.448: [GC 195099.448: [ParNew
Desired survivor size 491520 bytes, new threshold 0 (max 0)
: 129151K->0K(130112K), 0.0712390 secs] 1577405K->1476947K(4607040K), 0.0713980 secs]
Total time for which application threads were stopped: 0.0716750 seconds
Application time: 0.0364560 seconds
Total time for which application threads were stopped: 8.2666520 seconds
Application time: 0.0000700 seconds
Total time for which application threads were stopped: 0.0055730 seconds
Application time: 0.0069140 seconds
Total time for which application threads were stopped: 0.0017350 seconds
Application time: 0.0011930 seconds
Total time for which application threads were stopped: 0.0064760 seconds
Application time: 0.0000720 seconds
Total time for which application threads were stopped: 0.0001120 seconds
Application time: 0.0001010 seconds
Total time for which application threads were stopped: 0.0000650 seconds
Application time: 0.0001570 seconds
195107.840: [Full GC 195107.840: [CMS: 1476947K->1092516K(4476928K), 7.6193100 secs] 1488921K->1092516K(4607040K), [CMS Perm : 46862K->46641K(131072K)], 7.6194800 secs]
num #instances #bytes class name
1: 1962568 306032400 [Ljava.util.HashMap$Entry;
2: 1962446 125596544 java.util.HashMap
The "delay" of the SIGQUIT/Histogram dump can be ~1-2 seconds from the CPU overload detection. I'm curious about the "suspeciously spurious" SWT preceding the cpu spike. What could be the possible reasons?
2) Per thread analysis of the JVM threads hinted me to one thread which sometimes monopolized ~60% of the cpu time in kernel space. This is the native posix thread which "calls back into" JVM on certain events. Could it somehow cause the aforementioned STW?
My attempts to get a gdb stack dump at cpu load event failed (gdb can't resolve the stack in some of the jvm threads and enters infinite loop)
Any advice is greatly appreciated
regards,
- andrey

Just to close my "ticket" with some findings on the way hopefully to be useful for somebody else.
Since the problem manifested itself only on Linux box (have tried two different enterprise production kernels 2.6), I couldn't use dtrace, so my choice was limited to systap and /proc/profile.
The pattern when cpu usage was spiking was the following:
15 get_stack 0.1042
31 unhandled_signal 0.6458
34 stub_rt_sigreturn 0.2297
49 copy_siginfo_to_user 0.1021
70 find_vma 0.6250
94 retint_signal 0.7705
100 do_sigaltstack 0.2604
138 is_prefetch 0.3920
211 __up_read 1.1989
252 system_call 1.9535
292 __down_read 1.9730
552 save_i387 2.8750
1501 do_page_fault 0.9381
2266 do_signal 1.3488
2427 get_signal_to_deliver 1.9700
2452 force_sig_info 11.7885
3715 sys_rt_sigreturn 5.1597
14260 total 0.0057
It has been always the extensive number of signals generated. systap is lacking dtace java probes (as well as any u-level probes for that matter), so I could tap only in the kernel on syscalls:
force_sig_info= 10209 &#8211; 10230
0xc043681b : force_sig_info+0x1/0x86
0xc04230d3 : force_sig_info_fault+0x24/0x28
0xc0404670 : sys_rt_sigreturn+0x0/0xff
0xc061e3d8 : kprobe_exceptions_notify+0x164/0x386
0xc061f043 : notifier_call_chain+0x2a/0x47
0xc061f07e : atomic_notifier_call_chain+0x17/0x1a
0xc061f011 : do_page_fault+0x5e7/0x5ef
0xc0400000 : startup_32+0x0/0xb4
sys_rt_sigreturn= 10209 &#8211; 10235
0xc0404671 : sys_rt_sigreturn+0x1/0xff
0xc040518a : syscall_call+0x7/0xb
0xc0400000 : startup_32+0x0/0xb4
sys_rt_sigreturn() is tricky (it is designed to return to the kernel from the u-space signal handler), but the force_sig_info() is the result of the do_page_fault(). The swap was disabled and I assumed that page faults were "minor"-s. Looking at the comments in the OpenJDK JVM sources I could see that there are cases for non-mapped regions singal handling (like dynamic stack growth), so I suspected it's something very JVM specific. I could not correlate it precisely to GC events.
The end of the story is that I didn't find out exactly what was the real trigger of this event, but JVM1.6.05 does not produce such CPU spilkes.
- a.

Similar Messages

  • What is a common cause for high sys CPU time and system faults on an Iplanet server?

    Hi,
    A newbie question...
    I am benchmarking an application which uses Iplanet on Solaris (2X400mhz cpus). vmstat output follows.
    Note the high sys time and relatively lower user mode time. Also relatively high system fault rate. Is this
    normal? If not, common causes?
    fyi - we are not running Java VM on this server.
    I have TRUSS output showing kernal activity but dont want to post it here without some further guidance
    on what if anything in it might be helpful.
    Thanks!
    Bernie
    procs memory page disk faults cpu
    r b w swap free re mf pi po fr de sr s0 s6 s7 s8 in sy cs us sy id
    0 0 0 2494224 481536 3 10 3 0 0 0 0 1 0 1 0 413 697 443 1 2 97
    0 0 0 2428464 414368 0 122 0 0 0 0 0 45 0 45 0 972 53598 575 5 28 67
    1 0 0 2428512 414456 0 242 0 0 0 0 0 0 0 0 0 563 1368 756 4 46 50
    0 0 0 2428440 414440 0 263 0 0 0 0 0 0 0 0 0 636 2229 1268 6 49 46
    1 0 0 2428240 414264 10 253 0 0 0 0 0 6 0 6 0 692 176918 873 16 49 3

    Hello
    You can change the DB isolation level to Read uncommitted
    http://technet.microsoft.com/en-us/library/ms378149(v=sql.110).aspx
    or use WITH (NOLOCK)
    I do use NOLOCK option for the dirty reads to avoid locks on the tables
    Javier Villegas |
    @javier_vill | http://sql-javier-villegas.blogspot.com/
    Please click "Propose As Answer" if a post solves your problem or "Vote As Helpful" if a post has been useful to you

  • Server CPU usage spikes from networked acoounts

    Hello all,
    I work for a school district and we have recently switched the majority of our users to log in via network accounts (rather than mobile). At random times, the CPU on the server will spike to 100% usage and sometimes stays there for an hour or more. Running 'fs_usage' on the server reveals that certain files and/or dirs are getting hung. The main culprits seem to be Firefox v15 profiles, the AddressBook folder under Application Support, and Microsoft Office 2011 files. I'm wondering if anyone has seen these issues before, or know of something that could be done to alleviate the issue. Most of our clients are running Mac OS X 10.7.4. Our servers run Leopard. It also may be worth noting that many of the people logging in are doing so on laptops (macbook airs).
    Thanks.

    Hello all,
    I work for a school district and we have recently switched the majority of our users to log in via network accounts (rather than mobile). At random times, the CPU on the server will spike to 100% usage and sometimes stays there for an hour or more. Running 'fs_usage' on the server reveals that certain files and/or dirs are getting hung. The main culprits seem to be Firefox v15 profiles, the AddressBook folder under Application Support, and Microsoft Office 2011 files. I'm wondering if anyone has seen these issues before, or know of something that could be done to alleviate the issue. Most of our clients are running Mac OS X 10.7.4. Our servers run Leopard. It also may be worth noting that many of the people logging in are doing so on laptops (macbook airs).
    Thanks.

  • V$osstat and V$SYS_TIME_MODEL - how to get CPU time from instance

    Hi there !
    I have a function osstat, which take stats from the os using v$osstat (credits for the procedure to a person, I regret to say, that I cant remember his name). But since we have 9 databases on the same server (and we dont have access to the server os itself (outsourcing stinks), we often would like to know more about cpu, waits etc. And one of the procedures we use is the osstat.
    I have tried to combine it with V$SYS_TIME_MODEL in oder to se how much of the OS CPU time comes from the instance I am on at the moment, but I'm not able to figure out how to do it exaclty.
    This is my code:
    DROP TYPE OSSTAT_RECORD;
    CREATE OR REPLACE TYPE osstat_record IS OBJECT (
      date_time_from TIMESTAMP,
      date_time_to TIMESTAMP,
      idle_time NUMBER,
      user_time NUMBER,
      sys_time NUMBER,
      iowait_time NUMBER,
      nice_time NUMBER,
      instance_cpu_time NUMBER
    DROP TYPE OSSTAT_TABLE;
    CREATE OR REPLACE TYPE osstat_table AS TABLE OF osstat_record;
    CREATE OR REPLACE FUNCTION osstat(p_interval IN NUMBER default 5, p_count IN NUMBER default 2, p_dec in number default 0)
       RETURN osstat_table
       PIPELINED
    IS
      l_t1 osstat_record;
      l_t2 osstat_record;
      l_out osstat_record;
      l_num_cpus NUMBER;
      l_total NUMBER;
      l_instance NUMBER;
    BEGIN
      l_t1 := osstat_record(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
      l_t2 := osstat_record(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
      SELECT value
      INTO l_num_cpus
      FROM v$osstat
      WHERE stat_name = 'NUM_CPUS';
      FOR i IN 1..p_count+1
      LOOP
        SELECT systimestamp, sum(decode(stat_name,'IDLE_TIME', value, NULL)) as idle_time,
               sum(decode(stat_name,'USER_TIME', value, NULL)) as user_time,
               sum(decode(stat_name,'SYS_TIME', value, NULL)) as sys_time,
               sum(decode(stat_name,'IOWAIT_TIME', value, NULL)) as iowait_time,
               sum(decode(stat_name,'NICE_TIME', value, NULL)) as nice_time
        INTO l_t2.date_time_to, l_t2.idle_time, l_t2.user_time, l_t2.sys_time, l_t2.iowait_time, l_t2.nice_time
        FROM v$osstat
        WHERE stat_name in ('IDLE_TIME','USER_TIME','SYS_TIME','IOWAIT_TIME','NICE_TIME');
        select value/100000
        into l_t2.instance_cpu_time
        from  V$SYS_TIME_MODEL
        where stat_name = 'DB time';
        l_out := osstat_record(l_t1.date_time_from, systimestamp,
                               (l_t2.idle_time-l_t1.idle_time)/l_num_cpus/p_interval,
                               (l_t2.user_time-l_t1.user_time)/l_num_cpus/p_interval,
                               (l_t2.sys_time-l_t1.sys_time)/l_num_cpus/p_interval,
                               (l_t2.iowait_time-l_t1.iowait_time)/l_num_cpus/p_interval,
                               (l_t2.nice_time-l_t1.nice_time)/l_num_cpus/p_interval,
                               ((l_t2.instance_cpu_time-l_t1.instance_cpu_time)/100));  --- >>  Should I divide by no of cpus here as well???  Or ???
        l_total := l_out.idle_time+l_out.user_time+l_out.sys_time+l_out.iowait_time+nvl(l_out.nice_time,0);
        if l_out.user_time > 0 then
           l_instance := (l_out.instance_cpu_time*100)/l_total;   ->> instance in percent of the total cputime
        else
           l_instance := 0;
        end if;
        if i > 1 then
        PIPE ROW(osstat_record(l_t1.date_time_to, systimestamp,
                               trunc((l_out.idle_time/l_total*100),p_dec),
                               trunc((l_out.user_time/l_total*100),p_dec),
                               trunc((l_out.sys_time/l_total*100),p_dec),
                               trunc((l_out.iowait_time/l_total*100),p_dec),
                               trunc((l_out.nice_time/l_total*100),p_dec),
                               trunc(l_instance,p_dec)));
        end if;
        l_t1 := l_t2;
        sys.dbms_lock.sleep(p_interval);
      END LOOP;
      RETURN;
    END;
    /I get ie a USER CPU Time of 15% fo a given interval of 5 mins - and a cputime for the instance of 50 - and others are 5% and 1%.
    My brain has stopped working now .... I'm stuck
    Mette

    mettemusens wrote:
    Hi there !Duplicate thread:
    Re: v$osstat and V$SYS_TIME_MODEL question
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • How to troubleshooting high sys cpu usage ???

    how to troubleshooting high sys cpu usage ???

    Hi,I have post the top 5 event above.
    before tuning:
    SQL ordered by Gets
    •     Resources reported for PL/SQL code includes the resources used by all SQL statements called by the code.
    •     Total Buffer Gets: 4,348,081
    •     Captured SQL account for 73.3% of Total
    Buffer Gets      Executions      Gets per Exec      %Total     CPU Time (s)     Elapsed Time (s)     SQL Id     SQL Module     SQL Text
    1,768,970     2,593     682.21     40.68     32.47     1375.28     a2vm9mf99ma3p
           select
    712,504     2,883     247.14     16.39     13.14     83.85     66vrg3gz2stvf
           select
    130,928     7,901     16.57     3.01     7.83     10.49     ctnn0bpfd3v5k
           select
    92,800     2,902     31.98     2.13     2.73     6.40     2985xzq8x547u
           select
    81,498     27,159     3.00     1.87     3.12     3.98     1prkhshjp25sc
           select
    60,513     2,631     23.00     1.39     2.29     5.64     2d8w9016z0kug
           select
    55,416     15,835     3.50     1.27     2.12     2.39     8tk22zsappg9m
           select
    44,879     15,838     2.83     1.03     1.74     1.89     c6sjzyfh9jmz0
           select
    31,677     10,558     3.00     0.73     1.15     1.24     5yr7z98xmcpqz
           select
    26,346     13,172     2.00     0.61     1.31     1.47     36shs0f8kxp5z
           select after tuning:
    SQL ordered by Gets
    •     Resources reported for PL/SQL code includes the resources used by all SQL statements called by the code.
    •     Total Buffer Gets: 7,734,429
    •     Captured SQL account for 99.4% of Total
    Buffer Gets      Executions      Gets per Exec      %Total     CPU Time (s)     Elapsed Time (s)     SQL Id     SQL Module     SQL Text
    1,728,723     99,759     17.33     22.35     113.87     119.45     309a6ak09rud2
           select
    996,920     332,437     3.00     12.89     41.57     44.03     1prkhshjp25sc
           select
    964,093     199,469     4.83     12.46     32.19     33.28     8tk22zsappg9m
           select
    531,776     33,241     16.00     6.88     34.38     36.36     2985xzq8x547u
           select
    432,140     199,473     2.17     5.59     20.86     21.57     c6sjzyfh9jmz0
           select
    332,406     166,226     2.00     4.30     17.28     17.84     36shs0f8kxp5z
           select
    265,872     33,234     8.00     3.44     7.74     8.09     4a34fa9tt90wx
           select *
    232,617     33,243     7.00     3.01     7.54     7.78     53rvrd0ug5gwm
           select
    232,603     33,237     7.00     3.01     9.24     9.83     9254c5ag3z9qd
           select
    232,589     33,239     7.00     3.01     8.11     8.40     gum17w9qgrw8p
           select co
    232,547     33,246     6.99     3.01     12.56     13.21     cx8yttzjh9ftz
           select
    232,484     33,244     6.99     3.01     10.08     11.07     gbx7hs3ykpjqs
           select
    199,446     99,753     2.00     2.58     11.27     11.89     2hpja5k312kwa
           select
    199,428     33,241     6.00     2.58     9.15     9.56     2d8w9016z0kug
           select
    199,389     199,469     1.00     2.58     19.59     20.25     b9j0pb2d5cn69
           select
    133,004     33,253     4.00     1.72     17.56     18.67     a2vm9mf99ma3p
           select
    99,756     33,255     3.00     1.29     3.77     3.92     5yr7z98xmcpqz
           select
    99,747     33,258     3.00     1.29     4.58     4.70     1fnshqnqxjtqz
           select

  • How to find culprid of high SYS CPU % ?

    Does anyone know a command to find the culprid of a high CPU utilization of kernel syscalls?
    My actual SYS CPU usage is over twice the USR value and I think this not normal.
    Thanks in advance,
    HJ.

    i am curious. have u been reading the details off your process manager or through ps -ef or pgrep?
    but i do agree, that sounds alittle strange for any process to be taking up so much.

  • Cpu time is not getting displayed in explain plan

    Hi All,
    I am trying to analyze one query using explain plan .like below
    1) explain plan for
    SELECT /*+ parallel(tsp,8) use_hash( tsp tp) */ count(1)
    FROM router tp,
    receiver tsp
    WHERE tp.rs = tsp.rp
    AND creater_date >=to_date('04032009000000','ddmmyyyyhh24miss')
    and tsp.XVF is not null
    and tp.XVF is not null
    and tp.role_name='BR';
    2)@$ORACLE_HOME/rdbms/admin/utlxpls.sql
    But i am getting only following columns in result .
    | Id | Operation | Name | Rows | Bytes | Cost |
    No Cpu time preset .
    How can i extimate CPU time ?
    Pls help
    Thanks

    am_73798 wrote:
    I am trying to analyze one query using explain plan .like below
    But i am getting only following columns in result .
    | Id | Operation | Name | Rows | Bytes | Cost |
    No Cpu time preset .
    How can i extimate CPU time ?You need to mention your database version (4-digits, e.g. 9.2.0.8).
    In Oracle 9i CPU costing is disabled by default, you need to gather WORKLOAD system statistics to enable the CPU costing.
    In 10g CPU costing is enabled by default and uses default NOWORKLOAD system statistics if no WORKLOAD system statistics have been gathered. It can only be disabled by setting an undocumented parameter or by changing the OPTIMIZER_FEATURES_ENABLE parameter back to 9i compatibility.
    You can check the status of your system statistics by running the following query in SQL*Plus:
    column sname format a20
    column pname format a20
    column pval2 format a20
    select
    sname
    , pname
    , pval1
    , pval2
    from
    sys.aux_stats$;Can you show us the actual (complete) output you get from "utlxpls.sql"? Use the \ tag to preserve formatting here:
    \output
    \will show asoutput
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Too much exclusive CPU time counted at swapcontext function

    Hi,
    I'm using Sun Studio Express March 2009 Build, especially Performance Analyzer, and I have observed some hardly understandable CPU times measured at swapcontext function of libc library.
    Here is my machine spec.
    Two-way Intel E5320 processors with 16GB memory
    SUSE Linux Enterprise Server 10 SP1 (x86_64)
    My program consisted of 8 threads (pthread), and around a hundred of user contexts (coroutines or fibers) run on every single thread. I'm using makecontext/swapcontext for creating/scheduling user contexts on threads.
    I'm using both Sun Studio Performance Analyzer and Intel VTune Performance Analyzer.
    My problem is that performance analyzer reported about 20% of total CPU time as the exclusive CPU time of swapcontext function, while I couldn't find as many HW event samples related to swapcontext by using VTune.
    To narrow down the problem scope, I made simple test program, and I reproduced the problem. I attached the test program generator written by bash script at the end of this message.
    I generated the test program with following command.
    % bash code_gen.sh 8 128 100000 1000
    Then, you can get the test program, which consists of 8 threads with 128 user contexts at each threads, and 100000 times of context switch at each user context.
    In my system, Sun Studio Performance Analyzer reported 328 seconds of exclusive CPU time at swapcontext out of 463 seconds total CPU time (CPU Time of <Total>). Briefly, swapcontext consumed about 70% of total CPU time.
    However, according to VTune sampling, both libc-2.4.so and vmlinux-2.6.16.46-0.12-smp consume only 8% of total clockticks.
    It's too large gap between Sun Studio and VTune.
    Have you seen this kind of problem? Do you know why this mismatch happens?
    Or how can I estimate actual swapcontext cost?
    Thank you for reading my post, and I'm looking forward to some hints about my problem.
    Colin
    ---- code_gen.sh ----
    #!/bin/bash
    usage()
         echo "code_gen.sh <num_threads> <num_task> <num_loop> <func_body_size>"
    test()
         local num_threads=$1
         local num_tasks=$2
         local func_loop=$3
         local func_body_size=$4
         local file_name="mytest_${num_threads}_${num_tasks}_${func_loop}_${func_body_size}"
         main_func_gen $num_tasks $func_loop $func_body_size > $file_name.c
         gcc -O2 $file_name.c -o $file_name -lpthread
    sub_func_gen()
         local func_id=$1
         local func_loop=$2
         local func_body_size=$3
         local num_tasks=$4
         cat <<!
    static void f$1(int threadId)
         volatile int c = 0;
         int i = 0;
         for(i = 0; i < $func_loop; ++i)
         for i in `seq 1 $func_body_size`; do
              echo "          c+=1;";
         done
         cat <<!
              swapcontext(&ctx[threadId][$func_id], &ctx[threadId][($func_id+1)%$num_tasks]);
    main_func_gen()
         num_tasks=$1
         func_loop=$2
         func_body_size=$3
         cat <<!
    #include <stdio.h>
    #include <ucontext.h>
    #include <stdlib.h>
    #include <sys/time.h>
    #include <time.h>
    #include <pthread.h>
    static ucontext_t **ctx;
    static ucontext_t *mctx;
    static pthread_t *pThreads;
         for i in `seq 0 $((num_tasks-1))`; do
              sub_func_gen $i $func_loop $func_body_size $num_tasks
         done
         cat <<!
    int
    threadMain (int* pThreadId)
    char** st = NULL;
    int i = 0;
    int* ret = NULL;
         int threadId=*pThreadId;
    printf("$num_tasks tasks on %d thread\n", threadId);
    st = (char**)malloc(sizeof(char*)*$num_tasks);
    ctx[threadId] =(ucontext_t*)malloc(sizeof(ucontext_t)*$num_tasks);
    ret = (int*)malloc(sizeof(int)*$num_tasks);
         for i in `seq 0 $((num_tasks-1))`; do
              cat <<!
    st[$i] = (char*)malloc(sizeof(char)*8192);
    getcontext(&ctx[threadId][$i]);
    ctx[threadId][$i].uc_stack.ss_sp = st[$i];
    ctx[threadId][$i].uc_stack.ss_size = 8192;
    ctx[threadId][$i].uc_link = &mctx[threadId];
    makecontext(&ctx[threadId][$i], f$i, 1, threadId);
         done
         cat <<!
    //printf("start\n");
    swapcontext(&mctx[threadId], &ctx[threadId][0]);
    return 0;
    int
    main(int argc, char* argv[])
         int num_threads = $num_threads;
         int rc;
         pthread_attr_t attr;
         void *status;
    struct timeval begin, end;
         int *threadId;
         int i;
         printf("%d threads\n", num_threads);
         pthread_attr_init(&attr);
         pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
         pThreads = (pthread_t*)malloc(sizeof(pthread_t)*num_threads);
         mctx = (ucontext_t*)malloc(sizeof(ucontext_t)*num_threads);
         ctx = (ucontext_t**)malloc(sizeof(ucontext_t*)*num_threads);
         threadId = (int*)malloc(sizeof(int)*num_threads);
         // begin time measurement
    gettimeofday(&begin, NULL);
         for(i=0; i < num_threads; ++i)
              threadId[i] = i;
              rc = pthread_create(&pThreads, &attr, threadMain, (void*)&threadId[i]);
              if(rc)
                   printf("ERROR; return code from pthread_create is %d\n", rc);
                   exit(-1);
         pthread_attr_destroy(&attr);
         for(i = 0; i < num_threads; ++i)
              rc = pthread_join(pThreads[i], &status);
              if(rc)
                   printf("ERROR; return code from pthread_join is %d\n", rc);
                   exit(-1);
         // end time measurement
    gettimeofday(&end, NULL);
    printf("finished. Elapsed time=%dms\n", ((end.tv_sec - begin.tv_sec)*1000000+(end.tv_usec - begin.tv_usec))/1000);
         pthread_exit(NULL);
    if [[ $# -ne 4 ]]; then
         usage
         exit 0
    fi
    test $1 $2 $3 $4

    Hi Nik,
    Oh! I didn't know that. Here I put my code again. I'm sorry for your confusion.
    #!/bin/bash
    usage()
         echo "code_gen.sh <num_threads> <num_task> <num_loop> <func_body_size>"
    test()
         local num_threads=$1
         local num_tasks=$2
         local func_loop=$3
         local func_body_size=$4
         local file_name="mytest_${num_threads}_${num_tasks}_${func_loop}_${func_body_size}"
         main_func_gen $num_tasks $func_loop $func_body_size > $file_name.c
         gcc -O2 $file_name.c -o $file_name -lpthread
    sub_func_gen()
         local func_id=$1
         local func_loop=$2
         local func_body_size=$3
         local num_tasks=$4
         cat <<!
    static void f$1(int threadId)
         volatile int c = 0;
         int i = 0;
         for(i = 0; i < $func_loop; ++i)
         for i in `seq 1 $func_body_size`; do
              echo "          c+=1;";
         done
         cat <<!
              swapcontext(&ctx[threadId][$func_id], &ctx[threadId][($func_id+1)%$num_tasks]);
    main_func_gen()
         num_tasks=$1
         func_loop=$2
         func_body_size=$3
         cat <<!
    #include <stdio.h>
    #include <ucontext.h>
    #include <stdlib.h>
    #include <sys/time.h>
    #include <time.h>
    #include <pthread.h>
    static ucontext_t **ctx;
    static ucontext_t *mctx;
    static pthread_t *pThreads;
         for i in `seq 0 $((num_tasks-1))`; do
              sub_func_gen $i $func_loop $func_body_size $num_tasks
         done
         cat <<!
    int
    threadMain (int* pThreadId)
        char** st = NULL;
        int i = 0;
        int* ret = NULL;
         int threadId=*pThreadId;
        printf("$num_tasks tasks on %d thread\n", threadId);
        st = (char**)malloc(sizeof(char*)*$num_tasks);
        ctx[threadId] =(ucontext_t*)malloc(sizeof(ucontext_t)*$num_tasks);
        ret = (int*)malloc(sizeof(int)*$num_tasks);
         for i in `seq 0 $((num_tasks-1))`; do
              cat <<!
            st[$i] = (char*)malloc(sizeof(char)*8192);
            getcontext(&ctx[threadId][$i]);
            ctx[threadId][$i].uc_stack.ss_sp = st[$i];
            ctx[threadId][$i].uc_stack.ss_size = 8192;
            ctx[threadId][$i].uc_link = &mctx[threadId];
            makecontext(&ctx[threadId][$i], f$i, 1, threadId);
         done
         cat <<!
        //printf("start\n");
        swapcontext(&mctx[threadId], &ctx[threadId][0]);
        return 0;
    int
    main(int argc, char* argv[])
         int num_threads = $num_threads;
         int rc;
         pthread_attr_t attr;
         void *status;
        struct timeval begin, end;
         int *threadId;
         int i;
         printf("%d threads\n", num_threads);
         pthread_attr_init(&attr);
         pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
         pThreads = (pthread_t*)malloc(sizeof(pthread_t)*num_threads);
         mctx = (ucontext_t*)malloc(sizeof(ucontext_t)*num_threads);
         ctx = (ucontext_t**)malloc(sizeof(ucontext_t*)*num_threads);
         threadId = (int*)malloc(sizeof(int)*num_threads);
         // begin time measurement
        gettimeofday(&begin, NULL);
         for(i=0; i < num_threads; ++i)
              threadId[i] = i;
              rc = pthread_create(&pThreads, &attr, threadMain, (void*)&threadId[i]);
              if(rc)
                   printf("ERROR; return code from pthread_create is %d\n", rc);
                   exit(-1);
         pthread_attr_destroy(&attr);
         for(i = 0; i < num_threads; ++i)
              rc = pthread_join(pThreads[i], &status);
              if(rc)
                   printf("ERROR; return code from pthread_join is %d\n", rc);
                   exit(-1);
         // end time measurement
    gettimeofday(&end, NULL);
    printf("finished. Elapsed time=%dms\n", ((end.tv_sec - begin.tv_sec)*1000000+(end.tv_usec - begin.tv_usec))/1000);
         pthread_exit(NULL);
    if [[ $# -ne 4 ]]; then
         usage
         exit 0
    fi
    test $1 $2 $3 $4best regards,
    Colin                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Excessive system CPU time on Solaris 10 host with multiple zones

    We current have three T2000s running Solaris 10 with all of the latest patches installed. Each machine is identically configured with a single, 1.2GHz 8-core CPU & 32GB RAM. Two of the three are in our production environment and have three zones serving users' needs (Oracle app servers, to be specific).
    The third server is our test environment, and it hosts 5 zones. Four of the five zones are similar to those in our production environment (running Oracle or other J2EE app servers). The fifth zone is running eight Oracle RDBMS instances - seven at 9.2, one at 10.2. As this is a test environment, those instances are configured to use a modest amount of system resources.
    We are seeing an odd behavior that at first blush appeared to imply that we had put too much on this single server. However, after looking into it more closely, I'm now thinking that what we are seeing may in fact be some sort of OS issue.
    Specifically, when monitoring the server load in the global zone, we will see sudden spikes in the load factor, jumping above 20.00 and staying there for a minute or two, then dropping down to 3.00-6.00. During the time that the load is very high, vmstat reveals that an inordinate amount of CPU time is being spent in the kernel.
    For example:
    kthr      memory            page            disk          faults      cpu
    r b w   swap  free  si  so pi po fr de sr m1 m1 m1 m2   in   sy   cs us sy id
    0 0 0 62970776 1092640 0 0  0  3  2  0  0  0  0  0  0 3056 21548 5902 4  3 93
    0 0 0 62974184 1094632 0 0  0  8  6  0  0  0  0  0  0 3000 17155 5755 3  1 95
    0 0 0 62971736 1091760 0 0  0  3  2  0  0  0  0  0  0 2982 20254 5754 4  2 94
    0 0 0 62974080 1094424 0 0  0  3  2  0  0  0  0  0  0 3041 18316 5842 4  1 95
    0 0 0 62967808 1088256 0 0  0  3  3  0  0  0  0  0  0 3250 18788 6118 4 11 85
    0 0 0 62880504 1081528 0 0  0  2  2  0  0  0  0  0  0 3673 14910 6549 3 31 66
    0 0 0 62899936 1078272 0 0  0  0  0  0  0  0  0  0  0 3415 14216 6069 4 33 63
    0 0 0 62928744 1075224 0 0  0  5  5  0  0  0  0  0  0 4100 14889 7592 4 50 46
    1 0 0 62870280 1068096 0 0  0  0  0  0  0  0  0  0  0 4388 12581 8186 5 74 21
    5 0 0 62860552 1062064 0 0 51  0  0  0  0  0  0  0  0 4856 12904 9275 5 79 17
    11 0 0 62837472 1054064 0 0 0  5  5  0  0  0  0  0  0 4350 11576 9084 4 89  7
    15 0 0 62860376 1045088 0 0 0  0  0  0  0  0  0  0  0 4491 10718 8954 4 93  3
    19 0 0 62828208 1034744 0 0 0  2  2  0  0  0  0  0  0 4392 10194 9308 4 93  3
    5 0 0 62884880 1029232 0 0  0  5  5  0  0  0  0  0  0 4860 10864 9716 5 93  2
    0 0 0 62888088 1026552 0 0  0  0  0  0  0  0  0  0  0 4551 11987 8814 5 88  7
    0 0 0 62861944 1014688 0 0  0  0  0  0  0  0  0  0  0 4612 13246 8972 5 91  4
    1 0 0 62866912 1009992 0 0  2  5  5  0  0 11 11 11  0 4551 15213 9024 6 91  3
    0 0 0 62911632 1043184 0 0 88  3  3  0  0  4  2  2  0 4105 42573 7913 12 42 46
    0 0 0 62962560 1082128 0 0 13  2  2  0  0  5  3  2  0 3107 19107 5853 4  2 94Note that when the load first spikes, there are very few jobs in the run queue. Of course, as the kernel monopolizes more and more of the CPU time, the number of jobs in the run queue builds until such time as the kernel relinquishes the CPU and the user jobs are serviced.
    I have never seen this kind of vmstat output in the 20 years that I've been administering Sun servers, though I must admit that these three T2ks are the first multi-core, zoned machines that I have experience with.
    So do I have something configured wrong, do we have too many services configured for this one machine to handle, or is there indeed and OS issue involved here?
    Thanks,
    Bill

    Darren,
    Thanks for the feedback. I ran the hotkernel script on both a low-loaded and a higher loaded system (only saw my sys time reach about 60% compared to the 90+ I was seeing yesterday). Here are the 10 most frequently called kernel functions on the normal system:
    SUNW,UltraSPARC-T1`bcopy                                 1016   0.1%
    unix`mutex_vector_enter                                  1059   0.1%
    unix`disp_getwork                                        1093   0.1%
    unix`page_freelist_coalesce                              1512   0.2%
    zfs`fletcher_2_native                                    1519   0.2%
    SUNW,UltraSPARC-T1`copyin                                1546   0.2%
    SUNW,UltraSPARC-T1`copyout                               1602   0.2%
    unix`page_trylock                                        1789   0.2%
    unix`mutex_enter                                         1848   0.2%
    unix`cpu_halt                                          762334  95.3%Here's the top 10 when the system is getting pounded:
    unix`disp_getwork                                         495   0.1%
    unix`page_freelist_coalesce                               525   0.2%
    unix`page_geti_contig_pages                              6637   2.0%
    unix`page_unlock_noretire                               10124   3.0%
    unix`mutex_exit                                         10652   3.1%
    unix`page_trylock_contig_pages                          11461   3.4%
    unix`mutex_vector_enter                                 12785   3.8%
    unix`mutex_enter                                        14907   4.4%
    unix`page_trylock                                       50461  14.9%
    unix`cpu_halt                                          211391  62.2%Any thoughts as to what this implies?
    Thanks,
    Bill

  • CPU time from a multi processor

    Hi
    I need to get the CPU time from a multi processor machine,
    The top command will not do the job for me, and I will need to use the command in automation for testing the CPU time for 2 hours or more, I thinking about redirect the CPU % to a file, and in the end I will run the average for the numbers in that file.
    If I will be able to see the CPU time for the two processors it will be grate, but more important is to collect the global CPU status.
    I don�t have a command line that a can use, I can use some help.
    Thanks Shay

    mpstat in fact works on my Opteron 270 dual-processor dual-core machine running Soalris 10. For instance 'mpstat 3 5' displays 5 reports each 3 seconds apart, showing status of each CPU:
    % mpstat 3 5
    CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
    0 1 0 1 383 245 73 0 5 0 0 87 1 0 0 99
    1 1 0 1 33 4 51 0 4 0 0 57 0 0 0 99
    2 0 0 1 38 0 72 0 2 0 0 42 0 0 0 100
    3 1 0 1 53 26 49 0 1 1 0 47 0 0 0 100
    CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
    0 0 0 0 393 252 76 0 8 0 0 94 1 0 0 99
    1 0 0 0 48 4 82 0 7 1 0 71 0 0 0 100
    2 3 0 0 39 0 76 0 4 1 0 51 0 0 0 100
    3 0 0 0 44 25 35 0 3 2 0 49 0 0 0 100
    CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
    0 0 0 0 382 250 64 0 5 0 0 111 0 0 0 100
    1 0 0 0 29 4 43 0 4 0 0 56 1 0 0 99
    2 0 0 1 48 1 93 0 3 0 0 39 0 0 0 100
    3 0 0 0 69 29 78 0 1 1 0 65 0 0 0 100
    CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
    0 0 0 1 386 250 72 0 4 0 0 111 0 0 0 99
    1 0 0 0 28 3 42 0 3 0 0 55 1 0 0 99
    2 0 0 0 42 0 81 0 1 0 0 43 0 0 0 100
    3 0 0 0 67 29 74 0 0 1 0 63 0 0 0 100
    CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
    0 0 0 0 404 252 98 0 5 0 0 100 1 0 0 99
    1 0 0 0 45 9 68 0 5 1 0 53 0 0 0 100
    2 0 0 0 34 0 64 0 4 0 0 50 0 0 0 100
    3 0 0 0 58 27 60 0 2 2 0 73 0 0 0 100
    (The first report summarizes all activity since boot.)

  • Query performance difference -- CPU time difference on two servers

    Two SQL servers, server A & B, Hardware information as below:
    Server A: Clustered. Two physical processors (4 cores). RAM 64GB, SQL Server max memory: 58GB.
    Server B: Standalone. One physical processor (4 cores). RAM 16GB, SQL Server max memory: 10GB.
    The two databases on A & B are identical (using backup & restore method), same query execution CPU time are different, it is slower on the cluster server with more CPU & Mmeory. I tried many times and all same result, I also tried run DBCC DROPCLEANBUFFERS
    & DBCC FREEPROCCACHE before running the query.
    When I run the query, on Server A (Slow one), CPU usage is at 20% ~30%. RAM usage is 14%. It is new set up environment so just me using it now.
    When I run the query on Server B (Fast one), CPU usage is 40%, RAM usage is 85%.
    Both two servers have SAN connected storage.
    Query execution plan is exactly same on two serers.
    Could someone give me some advise how to troubleshoot this problem? Any suggestion is appreciated a lot! Thanks a lot!
    FYI, Below are the statistics when running same query in same DB on two servers:
    Server A CPU & IO Statistics:
    SQL Server parse and compile time: 
       CPU time = 109 ms, elapsed time = 297 ms.
    (1005301 row(s) affected)
    Table 'PODT'. Scan count 1, logical reads 55184, physical reads 3, read-ahead reads 55180, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
    Table 'MRICLDEFENT'. Scan count 0, logical reads 71898, physical reads 3, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
    Table 'POHD'. Scan count 1, logical reads 103154, physical reads 3, read-ahead reads 103150, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
     SQL Server Execution Times:
    CPU time = 7769 ms,  elapsed time = 16693 ms.
    Server B CPU & IO Statistics:
    SQL Server parse and compile time: 
       CPU time = 32 ms, elapsed time = 39 ms.
    (1005301 row(s) affected)
    Table 'PODT'. Scan count 1, logical reads 55184, physical reads 3, read-ahead reads 55180, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
    Table 'MRICLDEFENT'. Scan count 0, logical reads 71898, physical reads 3, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
    Table 'POHD'. Scan count 1, logical reads 103154, physical reads 3, read-ahead reads 103150, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
     SQL Server Execution Times:
    CPU time = 3931 ms,  elapsed time = 14387 ms.                             

    hi, Vivian_Vivian
    i just want to ask you 
    which sql version do you use?
    have you ever tried xevent before??
    if you use the sql2k8 or latter you can try xevent out to find somgthing clues about your cpu time problem
    i provide you the script,pls post your output in the xevent here so that we could judge what  the head of the problem is
    USE [master]
    GO
    CREATE EVENT SESSION [TrackSQLWait] ON SERVER
    ADD EVENT sqlserver.sql_statement_starting (
        ACTION ( sqlserver.session_id, sqlserver.database_id,sqlserver.sql_text ,package0.collect_system_time)
        WHERE ( sqlserver.database_id = 7 ) ), --★Do
    ADD EVENT sqlserver.sql_statement_completed (
        ACTION ( sqlserver.session_id, sqlserver.database_id, sqlserver.sql_text ,package0.collect_system_time)
        WHERE ( sqlserver.database_id = 7 ) ), --★Do
    ADD EVENT sqlserver.error_reported (
        ACTION ( sqlserver.session_id, sqlserver.database_id, sqlserver.sql_text ,package0.collect_system_time)
        WHERE ( sqlserver.database_id = 7 ) ), --★Do
    ADD EVENT sqlos.wait_info (
        ACTION ( sqlserver.database_id, sqlserver.session_id, sqlserver.sql_text,sqlserver.plan_handle ,package0.collect_system_time)
        WHERE 
        ( duration > 1000
          AND ( ( wait_type > 31    -- Waits for latches and important wait resources (not locks) 
                                -- that have exceeded 10 seconds. 
                  AND ( ( wait_type > 47
                          AND wait_type < 54
                        OR wait_type < 38
                        OR ( wait_type > 63
                             AND wait_type < 70
                        OR ( wait_type > 96
                             AND wait_type < 100
                        OR ( wait_type = 107 )
                        OR ( wait_type = 113 )
                        OR ( wait_type > 174
                             AND wait_type < 179
                        OR ( wait_type = 186 )
                        OR ( wait_type = 207 )
                        OR ( wait_type = 269 )
                        OR ( wait_type = 283 )
                        OR ( wait_type = 284 )
                OR ( duration > 30000        -- Waits for locks that have exceeded 30 secs.
                     AND wait_type < 22
    ADD TARGET package0.asynchronous_file_target (  SET filename = 'E:\ExtendedEvent\TrackSQLWait.xel' ,
                                                    metadatafile = 'E:\ExtendedEvent\TrackSQLWait.xem' )
    WITH ( MAX_MEMORY = 4 MB ,
            EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS )
    GO
    ALTER EVENT SESSION [TrackSQLWait]
    ON SERVER
    STATE=START
    -- Query the Event data from the Target.
    SELECT  event_data.value('(event/@name)[1]', 'varchar(50)') AS [event_name] ,
            event_data.value('(event/data[@name="source_database_id"]/value)[1]',
                             'int') AS [source_database_id] ,
            OBJECT_NAME(event_data.value('(event/data[@name="object_id"]/value)[1]',
                                         'int')) AS [object] ,
            event_data.value('(event/data[@name="object_type"]/value)[1]',
                             'varchar(60)') AS [object_type] ,
            event_data.value('(event/data[@name="state"]/text)[1]', 'varchar(50)') AS [state] ,
            event_data.value('(event/data[@name="duration"]/value)[1]', 'bigint') AS [duration] ,
            event_data.value('(event/data[@name="cpu"]/value)[1]', 'bigint') AS [cpu] ,
            event_data.value('(event/data[@name="reads"]/value)[1]', 'bigint') AS [reads] ,
            event_data.value('(event/data[@name="writes"]/value)[1]', 'bigint') AS [writes] ,
            event_data.value('(event/data[@name="error"]/value)[1]', 'bigint') AS [error] ,
            event_data.value('(event/data[@name="severity"]/value)[1]', 'int') AS [severity] ,
            event_data.value('(event/data[@name="user_defined"]/value)[1]',
                             'varchar(5)') AS [user_defined] ,
            event_data.value('(event/data[@name="message"]/value)[1]',
                             'varchar(max)') AS [message] ,
            event_data.value('(event/data[@name="wait_type"]/text)[1]',
                             'varchar(250)') AS wait_typetype ,
            event_data.value('(event/data[@name="wait_type"]/value)[1]',
                             'varchar(250)') AS wait_typevalue ,
            event_data.value('(event/data[@name="max_duration"]/value)[1]',
                             'bigint') AS max_duration ,
            event_data.value('(event/data[@name="completed_count"]/value)[1]',
                             'bigint') AS [completed_count] ,
            event_data.value('(event/action[@name="plan_handle"]/value)[1]',
                             'varchar(max)') AS [plan_handle] ,
            DATEADD(hh, DATEDIFF(hh, GETUTCDATE(), CURRENT_TIMESTAMP),
                    event_data.value('(event/action[@name="collect_system_time"]/text)[1]',
                                     'datetime2')) AS [system_time] ,
            event_data.value('(event/action[@name="session_id"]/value)[1]',
                             'bigint') AS [session_id] ,
            event_data.value('(event/action[@name="sql_text"]/value)[1]',
                             'varchar(max)') AS [sql_text]
    FROM    ( SELECT    CAST(event_data AS XML) AS event_data
              FROM      sys.fn_xe_file_target_read_file('E:\ExtendedEvent\TrackSQLWait_*.xel',
                                                        'E:\ExtendedEvent\TrackSQLWait_*.xem',
                                                        NULL, NULL)
            ) AS tab
    WHERE   event_data.value('(event/data[@name="duration"]/value)[1]', 'bigint') > 100
            AND event_data.value('(event/@name)[1]', 'varchar(50)') LIKE 'wait_info'
    ORDER BY [system_time]
    ALTER EVENT SESSION [TrackSQLWait]
    ON SERVER
    STATE=STOP
    GO
    DROP EVENT SESSION [TrackSQLWait] ON SERVER
    please replacing the related parameter to fit for your situation
    thanks

  • Acrord32 slows down computer, graps cpu time.

    Acrord32 slows computer, grabs cpu time.
    Win XP Pro SP3, Acrobat 11.0.01.36.
    (If this is not the correct forum, kindly direct me to where it should be re-posted.)
    Every time the cursor floats over a .pdf file in any file manager, acrord32 slows down the computer, hangs the cursor, takes cpu time and makes scrolling jerky. The more .pdf’s in a list, the more jerky as acrord32 opens and closes, again and again. The cursor is not pausing over a .pdf file, no .pdf is being selected, Acrobat is not running. How can this be stopped? I DO NOT have Reader installed.
    Acrotray and Acrord32 are NOT loaded in msconfig. They do not appear in task manager UNTIL the cursor floats over a .pdf. After a second or two, acrord32 disappears out of task manager. However, it is obviously lurking because it comes back next time the mouse encounters a .pdf.
    Questions:
    1) how to stop this behavior?
    2) how do these exe/dll’s get loaded when they are not marked to start?
    3) where does acrord32 “lurk,” and how can it be ferreted out?
    This is very annoying.

    AcroRd32 is related to Reader, so not sure why you have it if you do not have Reader installed. If no Acrobat product is running, the only process that should be running should be AcroTray that provides the process when printing to the Adobe PDF printer and should not be disabled. Be sure you check the processes list and not the applications. AcroRd32 runs in the background processes when it is running.
    I checked on both AA9 and AA XI systems with Windows 7. Neither one had AcroRd32 running.  My guess is you have it installed, even if it does not appear to be.

  • Database CPU Time Ratio" 100

    Hi,
    I am useing the following query which gives output of "Database CPU Time Ratio" > 100. But how it could be greater that 100? It's looks odd. Could you please explain?...
    select to_char(end_time, 'dd-mon-yyyy hh24:mi:ss')end_time,
    value
    from sys.v_$sysmetric_history
    where metric_name = 'Database CPU Time Ratio'
    and value>100
    order by 1;
    END_TIME VALUE
    01-nov-2012 10:34:33 111.662276737285
    1 rows selected

    I'm referring to metric_id: 2108
    select metric_name from v$metricname
    where metric_id = 2108
    and group_name = 'System Metrics Long Duration'
    METRIC_NAME
    Database CPU Time Ratio
    select to_char(begin_time, 'dd-hh24') || ':00' as hour,
    round(avg(maxval)) as maxval,
    round(avg(average)) as average
    from dba_hist_sysmetric_summary
    where metric_id = 2108
    and begin_time >= sysdate - 1
    group by to_char(begin_time, 'dd-hh24') || ':00'
    order by 1
    HOUR     MAXVAL     AVERAGE
    14-21:00     2247     156
    14-22:00     118     54
    14-23:00     214     112
    15-00:00     206     83
    15-01:00     196     97
    15-02:00     201     100
    15-03:00     207     88
    15-04:00     195     92
    15-05:00     200     59
    15-06:00     66     14
    15-07:00     168     75
    15-08:00     186     87
    15-09:00     196     102
    15-10:00     184     98
    15-11:00     200     114
    15-12:00     195     103
    15-13:00     188     100
    15-15:00     201     101
    15-16:00     196     105
    15-17:00     213     89
    15-18:00     197     107
    15-19:00     295     126
    what the value 2247 on 14 dec at 21:00 means ??

  • Firefox is using large amounts of CPU time and disk access, and I need to know how to shut down most of this so I can actually use the browser.

    Firefox is a very busy piece of software. It's using large amounts of CPU time and disk access. It puts my usage at low priority, so I have to wait for some time to be able to use my pointer or keyboard. I don't know what it uses all that CPU and disk access time for, but it's of no use to me. It often takes off with massive use of resources when I'm not doing anything, and I may not have use of my pointer for several minutes. How can I shut down most of this so I can use the browser to get my work done. I just want to use the web site access part of the software, and drop all the extra. I don't want Firefox to be able to recover after a crash. I just want to browse with a minimum of interference from Firefox. I would think that this is the most commonly asked question.

    Firefox consumes a lot of CPU resources
    * https://support.mozilla.com/en-US/kb/Firefox%20consumes%20a%20lot%20of%20CPU%20resources
    High memory usage
    * https://support.mozilla.com/en-US/kb/High%20memory%20usage
    Check and tell if its working.

  • Mail in 10.6.4 not usable: it consumes all CPU time and will not quit

    Mail application does not work properly.
    It eats up most of the available CPU time (till >300% on my machine), becomes unresponsive and will only quit when killed by a force quit in the Activity Monitor.
    I have only two accounts set up. One Gmail account and a google apps one.
    I used to synch with a Blackberry but now I synch directly through google apps.
    The problem was sporadic at best at first but has become the usual behaviour now. Major change has been installing 10.6.4
    I have switched to Thunderbird since Mail is not usable.
    Tx for any hint on how to solve this issue

    It seems to be a recurring issue with 10.6.4...there's probably not much mere mortals like us can do. I haven't found a solution. Try re-installing 10.6.4.

Maybe you are looking for

  • How to change imovie text color?

    I am adding titles and subtitles to my film but, suddenly, all text of the completed film turned white! Since the background for the text is also white, this means that letters are barely visible. I've spent two hours trying to fix the problem, using

  • SSL Authentication Error While consuming HTTPS webservice

    Hi, i am calling a JAX-RPC Webservice method through HTTPS. I am Getting 403 Forbidden Error followed by a message, Your browser sent a query that could not be understood by the server. The following is the SSL debug Trace *** CertificateRequest Cert

  • Command screen too big to show "OK" button - need to resize

    using acrobat xi pro on pc running windows 7 - when working to edit existing pdf file the command windows (e.g. add header/footer) are too big for screen so I cannot see OK button and cannot get to OK button to press. Need to rezise command cscreen

  • Write Back in Linux

    Hi All, Is it possible to have write back feature of OBIEE in Linux ? currentlyi am working on OBIEE 10g Regards, srl

  • Forum Disclaimer: Please read this first

    COMMUNITY FORUM CONTENT DISCLAIMER "Forum" means a discussion group, chat area, news group, blog, wiki, letter to SAP, its webmaster or employees or other service in connection with which you can upload, post, publish or otherwise transmit Content. Y