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

Linux系统出现问题常常,我们不但需要查阅系统日志信息,而且还要用大量之性能监测工具来判定究竟是啦部分(内存、CPU、硬盘……)出了问题

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

1、uptime

uptime命令用于查看服务器运行了多长时间以及生多少个用户登录,快速获得知服务器的载荷情况。

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

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

3、top

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命令可以查到目前经过的情况。

4、iostat

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

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

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

相关文章