centos性能监控系列一样:常用监控命令

1,准备干活:
   
①需使用到jaxws的如出一辙多元架包,网址:http://jax-ws.java.net,我生之凡比新的一个本子(下充斥好之后吧架包发在lib下),②webservice的一个家伙:soapUI,这个以网上都发生③支付web项目的IDE
自身动用的凡myEclipse6.5,④老成客户端代码的axis,我之所以之凡1.4。

2工具还备好了,接下就写代码了,webservice就是用接口发布为别的程序调用,所以我们对外只能暴露我们的接口。
  创建两只确保,一个是com.itf.test,另外一个凡是com.impl.test,看得出来一个凡是放开接口的,一个凡加大实现类似

Linux系统出现问题时,我们不光用查阅系统日志信息,而且还要以大量的性能监测工具来判断究竟是呀一部分(内存、CPU、硬盘……)出了问题

package com.impl.test;

import javax.jws.WebService;

import nc.itf.test.IHelloWorld;

//targetnamespace指的是wsdl的namespace
@WebService(targetNamespace="http://demo.webservice",name="Hello")
public class HelloWorldImpl implements IHelloWorld{

    @Override
    public String sayHelloWorld() {
        return "Hello World";
    }

}

下面就是深受咱们询问一下这些常用之属性监控工具。

 

1、uptime

package com.itf.test;

import javax.jws.WebService;

@WebService
public interface IHelloWorld {

    public String sayHelloWorld();

}

uptime命令用于查看服务器运行了多长时间以及产生些许个用户登录,快速取得知服务器的负荷状况。

  注意的是对此webservice的好像来说,都需要因此@Webservice来注释,注释还有许多之参数,具体的足去doc下面看.

uptime的出口包含一件内容是load
average,显示了近来1,5,15分钟的负荷状况。它的价值代表等CPU处理的经过数,如果CPU没有工夫处理这些过程,load
average值会升高;反的则会稳中有降。
load
average的无限佳值是1,说明每个过程都可立刻处理又没有CPU
cycles被丢掉。对于单CPU的机,1还是2是得领之价值;对于多程CPU的机,load
average值可能以8及10内。
否足以利用uptime命令来判断网络性。例如,某个网络下性能非常没有,通过运行uptime查看服务器的负载是否好高,如果无是,那么问题应是网方面导致的。
以下是uptime的运作实例:
9:24am  up  19:06,  1
user,  load average: 0.00, 0.00, 0.00
为可以查阅/proc/loadavg和/proc/uptime两只文本,注意不可知修/proc中之公文,要就此cat等一声令下来查看,如:
liyawei:~ # cat
/proc/loadavg
0.00 0.00 0.00 1/55
5505

 

2、dmesg

3勾好代码以后,我们便可以写配置文件了:配置文件在WEB-INF下面

dmesg命令主要用来显示内核信息。使用dmesg可以使得诊断机器硬件故障或添加硬件出现的问题。
另外,使用dmesg可以确定你的服务器安装了那些硬件。每次系统还开,系统都见面检讨有硬件并将信息记录下来。执行/bin/dmesg命令可以查看该记录。
dmesg输入实例:
ReiserFS: hda6:
checking transaction log (hda6)
ReiserFS: hda6: Using
r5 hash to sort names
Adding 1044184k swap
on /dev/hda5.  Priority:-1 extents:1 across:1044184k
parport_pc: VIA
686A/8231 detected
parport_pc: probing
current configuration
parport_pc: Current
parallel port base: 0x378
parport0: PC-style at
0x378 (0x778), irq 7, using FIFO [PCSPP,TRISTATE,COMPAT,ECP]
parport_pc: VIA
parallel port: io=0x378, irq=7
lp0: using parport0
(interrupt-driven).
e100: Intel(R) PRO/100
Network Driver, 3.5.10-k2-NAPI
e100: Copyright(c)
1999-2005 Intel Corporation
ACPI: PCI Interrupt
0000:00:0d.0[A] -> GSI 17 (level, low) -> IRQ 169
e100: eth0:
e100_probe: addr 0xd8042000, irq 169, MAC addr
00:02:55:1E:35:91
usbcore: registered
new driver usbfs
usbcore: registered
new driver hub
hdc: ATAPI 48X CD-ROM
drive, 128kB Cache, UDMA(33)
Uniform CD-ROM driver
Revision: 3.20
USB Universal Host
Controller Interface driver v2.3

葡京赌场网址 1

3、top

<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
    <endpoint name="IHelloWorld" implementation="nc.impl.test.HelloWorldImpl" url-pattern="/hello">

    </endpoint>
</endpoints>

top命令显示处理器的活动现象。缺省景象下,显示占用CPU最多的天职,并且每隔5秒钟做同不善刷新。
Process
priority的数值决定了CPU处理进程的逐一。LIUNX内核会根据需要调该数值的轻重缓急。nice
value局限于priority。priority的价值未能够低于nice value(nice
value值越低,优先级更强)。您不得以一直改动Process
priority的价值,但是可以通过调整nice level值来间接地改变Process
priority值,然而这同一措施并无是持有上还可用。如果某进程运行颇的款款,可以经过降落nice
level为该过程分配还多之CPU。
Linux 支持之 nice
levels 由19 (优先级低)到-20 (优先级赛),缺省值为0。
执行/bin/ps命令可以翻到眼前历程的图景。

布置文件之详尽写法也堪起文档中看
形容好这些事物之后,就好启动tomcat,如果不出意外的语句,就会看葡京赌场网址 2

4、iostat

点进去就好观看详细的音了,然后把soapUI打开,新建一个列,将此方面的URL复制到soapUI中,tools->Axis1.XArtifacts,tools-tools 葡京赌场网址 3 

iostat由Red Hat
Enterprise Linux
AS发布。同时iostat也是Sysstat的平等部分,可以下载到,网址是http://perso.wanadoo.fr/sebastien.godard/
执行iostat命令可以打系统启动之后的CPU平均时间,类似于uptime。除此之外,iostat还针对创建一个服务器磁盘子系统的移位报告。该报告包含两部分:CPU使用状态以及磁盘使用情况。
iostat显示实例:
avg-cpu:  %user   %nice
%system %iowait  %steal   %idle
0.16    0.01    0.03    0.10    0.00   99.71

点击缺点,就得选取非常成了,需要选择对象地址。

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
hda               0.31         4.65         4.12     327796     290832

记不清了,还有web.xml文件要丰富:

avg-cpu:  %user   %nice
%system %iowait  %steal   %idle
1.00    0.00    0.00    0.00    0.00  100.00

    <!-- ws -->
     <listener>  
        <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>  
       </listener>  
  <servlet>  
    <servlet-name>blog</servlet-name>  
    <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>  
    <load-on-startup>1</load-on-startup>  
  </servlet>

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
hda               0.00         0.00         0.00          0          0

 

avg-cpu:  %user   %nice
%system %iowait  %steal   %idle
0.00    0.00    0.00    0.00    0.00   99.01

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
hda               0.00         0.00         0.00          0          0
CPU占用情况包括四块内容
%user:显示user level
(applications)时,CPU的占用情况。
%nice:显示user
level在nice priority时,CPU的占据情况。
%sys:显示system level
(kernel)时,CPU的挤占情况。
%idle:
显示CPU空闲时所占据比例。

磁盘使用报告分为以下几个部分:
Device:
块设备的讳
tps:
该设备每秒I/O传输的次数。多只I/O请求可以做为一个,每个I/O请求传输的字节数不同,因此可以以多单I/O请求合并为一个。
Blk_read/s,
Blk_wrtn/s:
表示于该设备每秒读写的数块数量。块的深浅可以不同,如1024, 2048
或 4048字节,这取决partition的高低。

像,执行下列命令获得装备/dev/sda1
的数据块大小:
dumpe2fs -h /dev/sda1
|grep -F “Block size”

输出结果如下
dumpe2fs 1.34
(25-Jul-2003)
Block size:
1024

Blk_read, Blk_wrtn:
指示自从系统启动之后数块读/写的合计数。
否堪查阅这几只公文/proc/stat,/proc/partitions,/proc/diskstats的情。

5、vmstat

vmstat提供了processes,
memory, paging, block I/O, traps和CPU的运动场面
procs
———–memory———- —swap– —–io—- -system–
—–cpu——
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs
us sy id wa st
1  0      0
513072  52324 162404    0    0     2     2  261   32  0  0
100  0  0
0  0      0
513072  52324 162404    0    0     0     0  271   43  0  0
100  0  0
0  0      0
513072  52324 162404    0    0     0     0  255   27  0  0
100  0  0
0  0      0
513072  52324 162404    0    0     0    28  275   51  0  0
97  3  0
0  0      0
513072  52324 162404    0    0     0     0  255   21  0  0
100  0  0
各国输出列的含义:
Process
– r: The number of
processes waiting for runtime.
– b: The number of
processes in uninterruptable sleep.
Memory
– swpd: The amount of
virtual memory used (KB).
– free: The amount of
idle memory (KB).
– buff: The amount of
memory used as buffers (KB).
Swap
– si: Amount of memory
swapped from the disk (KBps).
– so: Amount of memory
swapped to the disk (KBps).
IO
– bi: Blocks sent to a
block device (blocks/s).
– bo: Blocks received
from a block device (blocks/s).
System
– in: The number of
interrupts per second, including the clock.
– cs: The number of
context switches per second.
CPU (these are
percentages of total CPU time)

  • us: Time spent
    running non-kernel code (user time, including nice time).
    – sy: Time spent
    running kernel code (system time).
    – id: Time spent idle.
    Prior to Linux 2.5.41, this included IO-wait time.
    – wa: Time spent
    waiting for IO. Prior to Linux 2.5.41, this appeared as zero.

6、sar

sar是Red Hat
Enterprise Linux
AS发行的一个器,同时为是Sysstat工具集的一声令下之一,可以起以下网址下充斥:http://perso.wanadoo.fr/sebastien.godard/
sar用于采集、报告要封存系统活动信息。sar由三单以做:sar显示数据、sar1和sar2用于采集与封存数据。
下sar1和sar2,系统能配置成机动抓取信息及日志,以备分析应用。配置举例:在/etc/crontab中上加如下几履内容
一如既往的,你吗得以以指令执行措施下采取sar运行实时报告。如图所示:
自采访之音中,可以抱详细的CPU使用状况(%user,
%nice, %system,
%idle)、内存页面调度、网络I/O、进程走、块设备活动、以及interrupts/second
liyawei:~ # sar -u 3
10
Linux
2.6.16.21-0.8-default (liyawei)   05/31/07

10:17:16          CPU     %user     %nice   %system   %iowait     %idle
10:17:19          all      0.00      0.00
     0.00      0.00    100.00
10:17:22          all      0.00      0.00      0.00      0.33     99.67
10:17:25          all      0.00      0.00      0.00      0.00    100.00
10:17:28          all      0.00      0.00      0.00      0.00    100.00
10:17:31          all      0.00      0.00      0.00      0.00    100.00
10:17:34          all      0.00      0.00      0.00      0.00    100.00

7、

8、free

/bin/free命令显示有空闲的同动的内存数量,包括swap。同时为蕴藏本使用的休养存。
total       used       free     shared    buffers     cached
Mem:        776492     263480     513012          0      52332     162504
-/+
buffers/cache:      48644     727848
Swap:      1044184          0    1044184

9、

10、pmap

pmap可以告知有或多单过程的内存以状况。使用pmap判断主机中谁进程因占用了多外存导致内存瓶颈。
pmap
<pid>

liyawei:~ #
pmap  1                                                                                                                                                       
1: init
START       SIZE     RSS   DIRTY
PERM MAPPING
08048000    484K    244K      0K
r-xp /sbin/init
080c1000      4K      4K      4K
rw-p /sbin/init
080c2000    144K     24K     24K
rw-p [heap]
bfb5b000     84K     12K     12K
rw-p [stack]
ffffe000      4K      0K      0K
—p [vdso]
Total:      720K    284K     40K

232K writable-private,
488K readonly-private, and 0K shared

11、strace

strace截取和记录系统经过调用,以及经过收到的信号。是一个格外管用之检测、指导与调剂工具。系统管理员可以经过该令容易地缓解程序问题。
运该令需要指明进程的ID(PID),例如:
strace -p
<pid>
# strace –p
2582
rt_sigprocmask(SIG_SETMASK,
[], NULL, 8) = 0
read(7,
“\”\\\”\\\\\\\”\\\\\\\\\\\\\\\”\\\\\\\\\\\\\\\\\\\\\\\\”…,
16384) = 321
write(3,
“}H\331q\37\275$\271\t\311M\304$\317~)R9\330Oj\304\257\327″…,
360) = 360
select(8, [3 4 7],
[3], NULL, NULL)     = 2 (in [7], out [3])
rt_sigprocmask(SIG_BLOCK,
[CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK,
[], NULL, 8) = 0
read(7,
“\”\\\”\\\\\\\”\\\\\\\\\\\\\\\”\\\\\\\\\\\\\\\\\\\\\\\\”…,
16384) = 323
write(3,
“\204\303\27$\35\206\\\306VL\370\5R\200\226\2\320^\253\253″…,
360) = 360
select(8, [3 4 7],
[3], NULL, NULL)     = 2 (in [7], out [3])
rt_sigprocmask(SIG_BLOCK,
[CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK,
[], NULL, 8) = 0
read(7,
“\”\\\”\\\\\\\”\\\\\\\\\\\\\\\”\\\\\\\\\\\\\\\\\\\\\\\\”…,
16384) = 323
write(3,
“\243\207\204\277Cw\0162\2ju=\205\’L\352?0J\256I\376\32″…,
360) = 360
select(8, [3 4 7],
[3], NULL, NULL)     = 2 (in [7], out [3])
rt_sigprocmask(SIG_BLOCK,
[CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK,
[], NULL, 8) = 0
read(7,
“\”\\\”\\\\\\\”\\\\\\\\\\\\\\\”\\\\\\\\\\\\\\\\\\\\\\\\”…,
16384) = 320
write(3,
“6\270S\3i\310\334\301\253!ys\324\’\234%\356\305\26\233″…,
360) = 360
select(8, [3 4 7],
[3], NULL, NULL)     = 2 (in [7], out [3])
rt_sigprocmask(SIG_BLOCK,
[CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK,
[], NULL, 8) = 0

12、ulimit

ulimit内置在bash
shell中,用来供针对性shell和经过可用资源的操纵
liyawei:~ # ulimit
-a
core file
size          (blocks, -c) 0
data seg
size           (kbytes, -d) unlimited
file
size               (blocks, -f) unlimited
pending signals
                (-i) 6143
max locked
memory       (kbytes, -l) 32
max memory
size         (kbytes, -m) unlimited
open
files                      (-n) 1024
pipe
size            (512 bytes, -p) 8
POSIX message
queues     (bytes, -q) 819200
stack
size              (kbytes, -s) 8192
cpu
time               (seconds, -t) unlimited
max user
processes              (-u) 6143
virtual
memory          (kbytes, -v) unlimited
file
locks                      (-x) unlimited
-H和-S选项指明所让资源的软硬限制。如果跨越了软限制,系统管理员会接到警告信息。硬限制指在用户收取过文件句炳限制的错误信息之前,可以直达的极酷价值。
诸如可以设置对文件句炳的硬限制:ulimit
-Hn 4096
像可以安装对文件句炳的软限制:ulimit
-Sn 1024
查软硬值,执行如下命令:
ulimit -Hn
ulimit -Sn
譬如限制Oracle用户.
在/etc/security/limits.conf输入以下行:
soft nofile
4096
hard nofile
10240
对此Red Hat Enterprise
Linux AS,确定文件/etc/pam.d/system-auth包含如下行
session required
/lib/security/$ISA/pam_limits.so
于SUSE LINUX
Enterprise Server,确定文件/etc/pam.d/login
和/etc/pam.d/sshd包含如下行:
session required
pam_limits.so
即无异履要这些限制生效。

13、mpstat

mpstat是Sysstat工具集的同等有的,下载地址是http://perso.wanadoo.fr/sebastien.godard/
mpstat用于报告多路CPU主机的各国粒CPU活动场面,以及整个主机的CPU情况。
比如,下边的指令可以隔2秒报告同不善计算机的位移场面,执行3糟糕
mpstat 2 3
liyawei:~ # mpstat 2
3
Linux
2.6.16.21-0.8-default (liyawei)   05/31/07

10:23:03     CPU   %user   %nice    %sys
%iowait    %irq   %soft  %steal   %idle    intr/s
10:23:05     all    0.50    0.00    0.00    1.99    0.00    0.00    0.00   97.51    271.64
10:23:07     all    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00    261.00
10:23:09     all    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00    261.50
Average:     all    0.17    0.00    0.00    0.67    0.00    0.00    0.00   99.17    264.73
正如命令每隔1秒显示平次等多行程CPU主机的微机活动情,执行3次于
mpstat -P ALL 1
3
liyawei:~ # mpstat -P
ALL 1 10
Linux
2.6.16.21-0.8-default (liyawei)   05/31/07

10:23:31     CPU   %user   %nice    %sys
%iowait    %irq   %soft  %steal   %idle    intr/s
10:23:32     all    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00    273.00
10:23:32       0    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00    272.00
10:23:33     all    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00    254.00
10:23:33       0    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00    254.00
10:23:34     all    0.00    0.00    0.00    0.00    0.00    0.00    0.00
 100.00    271.00
10:23:34       0    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00    271.00
10:23:35     all    0.00    0.00    0.00    1.98    0.00    0.00    0.00   98.02    254.46
10:23:35       0    0.00    0.00    0.00    1.98    0.00    0.00    0.00 

98.02    254.46