平均负载高,CPU使用率低-为什么?

散布

我们在Web应用程序上看到了巨大的性能问题,并且试图找到瓶颈。我不是系统管理员,所以有些东西我不太了解。一些基本调查显示,CPU处于空闲状态,大量内存可用,没有交换,没有I / O,但是平均负载很高。

该服务器上的软件堆栈如下所示:

Solaris 10。Java 1.6。WebLogic 10.3.5(8个域)

在该服务器上运行的应用程序与另一台服务器上的Oracle数据库进行通信。

该服务器具有32GB的RAM和10个CPU(我认为)。

运行prstat -Z可以得到如下信息:

   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP
  3836 ducm0101 2119M 2074M cpu348  58    0   8:41:56 0.5% java/225
 24196 ducm0101 1974M 1910M sleep   59    0   4:04:33 0.4% java/209
  6765 ducm0102 1580M 1513M cpu330   1    0   1:21:48 0.1% java/291
 16922 ducm0102 2115M 1961M sleep   58    0   6:37:08 0.0% java/193
 18048 root     3048K 2440K sleep   59    0   0:06:02 0.0% sa_comm/4
 26619 ducm0101 2588M 2368M sleep   59    0   8:21:17 0.0% java/231
 19904 ducm0104 1713M 1390M sleep   59    0   1:15:29 0.0% java/151
 27809 ducm0102 1547M 1426M sleep   59    0   0:38:19 0.0% java/186
  2409 root       15M   11M sleep   59    0   0:00:00 0.0% pkgserv/3
 27204 root       58M   54M sleep   59    0   9:11:38 0.0% stat_daemon/1
 27256 root       12M 8312K sleep   59    0   7:16:40 0.0% kux_vmstat/1
 29367 root      297M  286M sleep   59    0  11:02:13 0.0% dsmc/2
 22128 root       13M 6768K sleep   59    0   0:10:51 0.0% sendmail/1
 22133 smmsp      13M 1144K sleep   59    0   0:01:22 0.0% sendmail/1
 22003 root     5896K  240K sleep   59    0   0:00:01 0.0% automountd/2
 22074 root     4776K 1992K sleep   59    0   0:00:19 0.0% sshd/1
 22005 root     6184K 2728K sleep   59    0   0:00:31 0.0% automountd/2
 27201 root     6248K  344K sleep   59    0   0:00:01 0.0% mount_stat/1
 20964 root     2912K  160K sleep   59    0   0:00:01 0.0% ttymon/1
 20947 root     1784K  864K sleep   59    0   0:02:22 0.0% utmpd/1
 20900 root     3048K  608K sleep   59    0   0:00:03 0.0% ttymon/1
 20979 root       77M   18M sleep   59    0   0:14:13 0.0% inetd/4
 20849 daemon   2856K  864K sleep   59    0   0:00:03 0.0% lockd/2
 17794 root       80M 1232K sleep   59    0   0:06:19 0.0% svc.startd/12
 17645 root     3080K  728K sleep   59    0   0:00:12 0.0% init/1
 17849 root       13M 6800K sleep   59    0   0:13:04 0.0% svc.configd/15
 20213 root       84M   81M sleep   59    0   0:47:17 0.0% nscd/46
 20871 root     2568K  600K sleep   59    0   0:00:04 0.0% sac/1
  3683 ducm0101 1904K 1640K sleep   56    0   0:00:00 0.0% startWebLogic.s/1
 23937 ducm0101 1904K 1640K sleep   59    0   0:00:00 0.0% startWebLogic.s/1
 20766 daemon   5328K 1536K sleep   59    0   0:00:36 0.0% nfsmapid/3
 20141 daemon   5968K 3520K sleep   59    0   0:01:14 0.0% kcfd/4
 20093 ducm0101 2000K  376K sleep   59    0   0:00:01 0.0% pfksh/1
 20797 daemon   3256K  240K sleep   59    0   0:00:01 0.0% statd/1
  6181 root     4864K 2872K sleep   59    0   0:01:34 0.0% syslogd/17
  7220 ducm0104 1268M 1101M sleep   59    0   0:36:35 0.0% java/138
 27597 ducm0102 1904K 1640K sleep   59    0   0:00:00 0.0% startWebLogic.s/1
 27867 root       37M 4568K sleep   59    0   0:13:56 0.0% kcawd/7
 12685 ducm0101 4080K  208K sleep   59    0   0:00:01 0.0% vncconfig/1
ZONEID    NPROC  SWAP   RSS MEMORY      TIME  CPU ZONE
    42      135   22G   19G    59%  87:27:59 1.2% dsuniucm01

Total: 135 processes, 3167 lwps, load averages: 54.48, 62.50, 63.11

我知道CPU大部分处于空闲状态,但是平均负载很高,这对我来说很奇怪。内存似乎不是问题。

运行vmstat 15会得到以下信息:

 kthr      memory            page            disk          faults      cpu
 r b w   swap  free  re  mf pi po fr de sr s0 s1 s4 sd   in   sy   cs us sy id
 0 0 0 32531400 105702272 317 1052 126 0 0 0 0 13 13 -0 8 9602 107680 10964 1 1 98
 0 0 0 15053368 95930224 411 2323 0 0 0 0 0 0  0  0  0 23207 47679 29958 3 2 95
 0 0 0 14498568 95801960 3072 3583 0 2 2 0 0 3 3  0 21 22648 66367 28587 4 4 92
 0 0 0 14343008 95656752 3080 2857 0 0 0 0 0 3 3  0 18 22338 44374 29085 3 4 94
 0 0 0 14646016 95485472 1726 3306 0 0 0 0 0 0 0  0  0 24702 47499 33034 3 3 94

我知道CPU大部分处于空闲状态,队列中没有等待执行的进程,几乎没有交换。

运行iostat 15可以实现以下目的:

   tty        sd0           sd1           sd4           ssd0           cpu
 tin tout kps tps serv  kps tps serv  kps tps serv  kps tps serv   us sy wt id
   0  676 324  13    8  322  13    8    0   0    0  159   8    0    1  1  0 98
   1 1385   0   0    0    0   0    0    0   0    0    0   0    0    3  4  0 94
   0  584  89   6   24   89   6   25    0   0    0  332  19    0    2  1  0 97
   0  296   0   0    0    0   0    0    0   0    0    0   0    0    2  2  0 97
   1 1290  43   5   24   43   5   22    0   0    0  297  20    1    3  3  0 94

运行netstat -i 15可以得到以下结果:

    input   aggr26    output       input  (Total)    output
packets errs  packets errs  colls  packets errs  packets errs  colls
1500233798 0     1489316495 0     0      3608008314 0     3586173708 0     0
10646   0     10234   0     0      26206   0     25382   0     0
11227   0     10670   0     0      28562   0     27448   0     0
10353   0     9998    0     0      29117   0     28418   0     0
11443   0     12003   0     0      30385   0     31494   0     0

运行swap -l可以做到这一点:

swapfile             dev  swaplo blocks   free
/dev/swap           4294967295,4294967295     16 4194288 1000656

运行swap -s可以得到:

total: 102575560k bytes allocated + 11141528k reserved = 113717088k used, 6692864k available

我想念什么?

非常感谢你的帮助!

散布

经过一些进一步的调查,似乎性能问题主要是由于两个系统(Oracle SSXA和UCM)之间的大量网络调用所致。调用速度很快,但数量很多且已序列化,因此CPU使用率低(主要等待I / O),平均负载高(许多调用等待处理),尤其是响应时间长(通过积累小的响应时间)。

感谢您对这个问题的见解!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

高负载但CPU使用率低

高负载,低CPU使用率-系统定期崩溃

Java应用程序中的高CPU使用率-为什么?

为什么Application Insights Performance Counter Collection导致CPU使用率高

为什么Firefox每几秒钟会引起CPU使用率高的“峰值”?

为什么虚拟机在高CPU使用率时会变慢?

lpop为什么会增加Redis CPU使用率?

为什么我的CPU使用率持续上升?

为什么CPU使用率没有增加?

cgroup 中的 CPU 负载度量单位是什么(CPU 使用率和 CPU 负载之间的区别)?

了解平均负载与CPU使用率

高CPU负载,低内核使用率,内核中的(ECC)内存错误

高 CPU 使用率,而无需责怪进程。什么是[迁移/x]?

noms.exe CPU使用率高(此过程是什么?)

Windows 10中“系统和压缩内存”的CPU使用率高的原因是什么?

为什么具有足够的可用RAM和低CPU使用率的Intel Core i3处理器变得非常慢?

为什么使用WMI获取CPU使用率会使我的程序冻结几秒钟?

为什么r gc()函数报告的内存使用率比Windows Task Manager高

为什么“桌面窗口管理器”具有很高的CPU使用率?

插入笔记本电脑后,为什么CPU使用率达到100%?

运行应用程序时,为什么Eclipse CPU使用率会增加?

为什么仅在传输完成下载后CPU使用率才会飙升?

为什么“ top”命令显示的CPU使用率为799%?

为什么从无限循环切换到TimerTask会导致CPU使用率下降?

为什么我的并行任务代码无法达到100%的CPU使用率?

为什么尽管CPU和内存使用率较低,但我的计算机仍很慢?

为什么无限循环不会使CPU使用率达到100

为什么USB 3.0端口会导致CPU使用率过高?

达斯:为什么CPU使用率突然下降了?