–noupdate disable intermediate updates

      return 0

 

–nocolor disable colors (implies –noupdate)

   exit 0

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

rrqm/s:   每秒进行 merge 的读操作数目.即 delta(rmerge)/s

  fi

    @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @

IO 

      echo $FILE_NAME”: Regular file.”

    IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

localhost.localdomain   2       1381894274      all%steal  0.00

  FILE_NAME=$1

 

wa :CPU 空闲时间,在此期间系统有未完成的磁盘/NFS I/O 请求

  elif [ -b $FILE_NAME ]

2、报错信息如下:

httpd        196M|sshd:
[email protected]
 59B   96B|                

    then

    The fingerprint for the RSA key sent by the remote host is

localhost.localdomain   2       1381894274      all%user 0.00

  echo “Usage: “$0″ filename”

 

-M stat1,stat2 enable external stats

if MESSAGE=`test_file $1`

    Offending key in /home/xahria/.ssh/known_hosts:8

buff: 被用来做为缓存的内存数,单位:KB

      return 0

3、用OpenSSH的人都知ssh会把你每个你访问过计算机的公钥(public
key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,避免你受到DNS
Hijack之类的攻击。

pidstat -u 1

      echo $FILE_NAME”: Link file.”

 

11时52分41秒 eth0 1.00 1.00 98.00 98.00 0.00 0.00 0.00

function test_file()

4、在.ssh/config(或者/etc/ssh/ssh_config)中的配置项StrictHostKeyChecking:

也可以输出到一个二进制的文件中,然后通过sar来查看;

      return 0

 

 

  fi

1、在某些情况下,如同个IP地址,不同端口连到不同linux机子上时,可能有此提示

11:36:06        21609    5.53    1.51    0.00    7.04     0  httpd

    then

ssh登陆提示”Host key verification failed.”的解决方法

 

#6/20/11

 

11:38:33        20586      0.00      0.00  475076  15040   1.47  mysqld

      return 0

    Someone could be eavesdropping on you right now (man-in-the-middle
attack)!

%util:     一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间
I/O 队列是非空的.即 delta(use)/s/1000 (因为use的单位为毫秒)

   exit 1

    Host key verification failed.

以上命令以1秒为信息采集周期,分别获取cpu、内存和磁盘IO的统计信息

   echo $MESSAGE

    StrictHostKeyChecking no

localhost.localdomain   2       1381894280      all%user 0.50

      return 1

    23:00:20:83:de:02:95:f1:e3:34:be:57:3f:cf:2c:e7.

 

  elif [ -c $FILE_NAME ]

    Add correct host key in /home/xahria/.ssh/known_hosts to get rid of
this message.

    RES:resident memory usage 常驻内存

      echo $FILE_NAME”: Directory.”

    yes:如果连接与key不匹配,就拒绝连接,不会提示。

–mods stat1,stat2

      echo “file no find.”

    It is also possible that the RSA host key has just been changed.

比如我们让数据每秒更新一次,总共更新十次; 

}

5、为了防止出现警告提示,且解决同个IP不同端口连接,可选择性地降低安全性,如下配置:

 

  if [ -d $FILE_NAME ]

   
no:如果连接的key在本地不存在,那么就自动添加到文件中(默认是known_hosts),并且给出一个警告,可以连接成功。

 

 

   
默认是ask:如果连接和key不匹配,给出提示,并拒绝登录,默认是被注释掉的。

   VIRT:virtual memory usage

  then

    UserKnownHostsFile /dev/null
#将knownhostfile设为/dev/null,就不保存在known_hosts中了

    SHR:shared memory

if [ $# = 0 ]

 

 

    exit 1

    Please contact your system administrator.

[[email protected]
~]# mpstat -P 0 2 5 查看第一个CPU,2秒钟返回一次,总共返回5次

}

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

 

      echo $FILE_NAME”: Unknown type.”

    RSA host key for localhost has changed and you have requested strict
checking.

11:02:08        CPU     %user     %nice   %system   %iowait    %steal  
  %idle

#This script is used to test the file type.

    vi /etc/ssh/ssh_config 

[[email protected]
~]# mpstat 2 5 注:查看所有CPU,2秒钟返回一次,总共返回5次

    usage

 

  0   0 100   0   0   0|   0     0 | 977B  150B|   0     0 >

  exit 1

 

-y, –sys enable system stats

  then

 

-c, –cpu 显示CPU情况

#!/bin/bash

key verification
failed.的解决方法
1、在某些情况下,如同个IP地址,不同端口连到不同linux机子上时,可能有此提示
2、报错信息…

11:36:02        21906    0.00    0.50    0.00    0.50     0  pidstat

  elif [ -f $FILE_NAME ]

如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好

shell编程测试文件类型

  memory process |     i/o process      |  cpu process   

function usage()

四、vmstat监控内存

  else

    4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

      echo $FILE_NAME”: Character device file.”

 

{

Mem:   1021520k total,   866804k used,   154716k free,    41884k bu

  if [ ! -e $FILE_NAME ]

sda3              0.00      15.00  0.00  2.00      0.00    68.00  
 68.00      0.01         6.50   6.50   1.30

    then

rxpck/s:每秒收到的包;

    then

Average:        all      0.10      0.00      0.20      0.50      0.00  
  99.20

{

这里可以看到正在跑的进程及其所消耗的资源

   echo $MESSAGE

 

else

linux下面有很多强大的监控工具,各有各的优点,作为一个linux系统管理员,有必要知道这些命令的用法,结合自己的经验,写了点介绍,如对不足的地方,还请批评指正!

#!/bin/bash #This script
is used to test the file type. #6/20/11 function usage() { echo
Error:Must have a parameter. echo Usage: $0 filename exit 1 }…

w/s:         每秒完成的写 I/O 设备次数.即 delta(wio)/s

      echo $FILE_NAME”: Block device file.”

swpd: 虚拟内存使用情况,单位:KB

    then

 [[email protected]
lib]# free

  echo “Error:Must have a parameter.”

    2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小

    then

 

      return 1

五、mpstat监控CPU

 

如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。 

  elif [ -L $FILE_NAME ]

[[email protected]
~]# sar -n DEV 2 5

fi

IFACE:设备名;

fi

sda1              0.00       0.00   0.00  0.00      0.00     0.00    
0.00        0.00         0.00   0.00   0.00

      return 0

11:36:04        21906    0.00    0.50    0.00    0.50     0  pidstat

11:36:06          PID    %usr %system  %guest    %CPU   CPU  Command

一、用tcp查看CPU、内存等

–ipc 报告IPC消息队列和信号量的使用情况

[[email protected]
lib]# dstat –top-mem –top-io –top-cpu          

[[email protected]
~]# sar -n DEV 2 5 |grep eth0

 

%system 表示当系统运行时,在用户应用层上所占用的CPU百分比;

11:36:02          PID    %usr %system  %guest    %CPU   CPU  Command

[[email protected]
mnt]# rpm -ql sysstat | grep bin

-a, –all 使用-cdngy 缺省的就是这样显示

—-system—- —-total-cpu-usage—- —load-avg—
——memory-usage—– -dsk/total- -net/total- —system–

dstat -l #显示cpu在1、5、15分钟的负载

[[email protected]
ipv4]# top

 

minflt/s: 每秒次缺页错误次数(minor page
faults),次缺页错误次数意即虚拟内存地址映射成物理内存地址产生的page
fault次数

第五行:swap交换分区总量为
2047992KB,使用的交换分区总量23832KB,空闲交换分区总量
2024160KB,缓冲的交换区总量180288KB

uptime查看平均负载

sdaf 能从二进制文件中提取sar所收集的数据,前提必须是sar收集到了数据

    6 root      20   0     0    0    0 S  0.0  0.0   0:00.02

11:28:42       0    0.00    0.00    0.00    0.00    0.00    0.00    0.00
   0.00  100.00

 

11:31:18        all      0.00      0.00      0.00      0.00      0.00  
 100.00

11:38:35        20586      0.00      0.00  475076  15040   1.47  mysqld

……

dstat 3 #3秒输出一条信息

11:31:14        all      0.00      0.00      0.00      0.50      0.00  
  99.50

查看TPS和吞吐量信息

[[email protected]
~]#iostat -d -k 1 10

 

/usr/bin/sar

[[email protected]
lib]# pidstat 2  5  2秒钟输出一次pid信息,总共输出十次

us: CPU 使用时间

VSZ:      该进程使用的虚拟内存(以kB为单位)

txbyt/s:每秒传输的所有包的体积;

sda2              0.00         0.00         0.00          0          0

kB_read :读取的总数据量

如果想知道网络设备错误报告,也就就是用来查看设备故障的。应该用EDEV;比如下面的例子;

[[email protected]
lib]# sar -f  sar003  用sar  -f读取比较人性化

 

 

    3、计算某个进程所占的物理内存大小公式:RES – SHR

rkB/s:      每秒读K字节数.是 rsect/s
的一半,因为每扇区大小为512字节.(需要计算)

11:38:23          PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command

 

sda6              0.00         0.00         0.00          0          0

tps:该设备每秒的传输次数,一次传输的意思是“一次I/O请求”

Tasks: 115 total,   1 running, 114 sleeping,   0 stopped,   0 zombi

Linux 2.6.32-71.el6.x86_64 (localhost.localdomain)      10/16/13      
 _x86_64_        (1 CPU)

 

svctm:  平均每次设备I/O操作的服务时间 (毫秒).即
delta(use)/delta(rio+wio)

sda6              0.00       0.00   0.00  0.00      0.00     0.00    
0.00        0.00         0.00   0.00   0.00

 

await:    平均每次设备I/O操作的等待时间(毫秒).即
delta(ruse+wuse)/delta(rio+wio)

localhost.localdomain   2       1381894280      all%nice 0.00

localhost.localdomain   2       1381894278      all%iowait 0.00

 

Terminal width too small, trimming output.

bi: 发送到块设备的块数,单位:块/秒

 

基本用法

 

    9 root      20   0     0    0    0 S  0.0  0.0   0:00.00

rsec/s:    每秒读扇区数.即 delta(rsect)/s

sda3              0.00         0.00         0.00          0          0

sda5              0.00       0.00   0.00   0.00     0.00     0.00    
0.00        0.00         0.00   0.00   0.00

查看设备使用率(%util)、响应时间(await)

kB_wrtn/s :每秒向设备写入的数据量

–noheaders 只显示一次表头以后就不显示了,使用重定向写入文件时很有用

11:38:34        20586      0.00      0.00  475076  15040   1.47  mysqld

 0  0 907500  71640   1268  15936    0    0     0     0   32   17  0  0
100  0  0

 0  0 907500  71640   1268  15936    0    0     0     0   28   13  0  0
100  0  0

(如果 %util 接近
100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈.

 0  0 907500  71640   1268  15936    0    0     0     0   35   13  0  0
100  0  0

   11 root      20   0     0    0    0 S  0.0  0.0   0:00.00

localhost.localdomain   2       1381894280      all%iowait 0.50

 

txcmp/s :每秒传输的数据切割压缩的包的总数;

localhost.localdomain   2       1381894282      all%nice 0.00

/usr/bin/mpstat

11:38:31          PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command

11:28:40       0    0.50    0.00    0.00    0.00    0.00    0.00    0.00
   0.00   99.50

CPU:表示机器内所有的CPU;

11:28:32     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal
 %guest   %idle

直接输入dstat,会使用默认值,每秒显示一次cpu、disk、net、paging、system的数据。等于dstat
-cdngy 1

 

  0   0 100   0   0   0|   0     0 |1320B  278B|   0     0 >

 

11:36:08        21906    0.50    0.50    0.00    1.01     0  pidstat

%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util
= 0.8/1 =
80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

localhost.localdomain   2       1381894276      all%user 0.00

部署一个程序时(我测试的是一个实时上传日志的程序),对系统的cpu、内存、io等都要有所考虑,保证系统高效的运行。

Average: eth0 1.00 1.00 98.00 98.00 0.00 0.00 0.00

 

httpd        196M|init         38k   11k|kswapd0      0.0

11:36:04          PID    %usr %system  %guest    %CPU   CPU  Command

si: 从磁盘交换到内存的交换页数量,单位:KB/秒

-m, –mem 显示内存情况

发表评论

电子邮件地址不会被公开。 必填项已用*标注